首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用内核中的cublas

调用内核中的cublas
EN

Stack Overflow用户
提问于 2013-10-19 05:37:03
回答 1查看 1.9K关注 0票数 3

我想并行使用Zgemv。

代码语言:javascript
复制
__global__ void S_Cphir(cuDoubleComplex *S,cuDoubleComplex *A,cuDoubleComplex *B, int n,int l)
{
    ....
cublasZgemv(handle,CUBLAS_OP_N,n,n,&alpha,S+i*n*n,n,A+n*i,1,&beta,B+i*n,1);}

void S_Cphir_(cuDoubleComplex *S,cuDoubleComplex *A,cuDoubleComplex *B, int n,int l){
dim3 grid = dim3(1,1,1);
dim3 block = dim3(32,1,1);
S_Cphir<<<grid,block>>>(S,A,B,n,l);}

我的编译命令是

代码语言:javascript
复制
nvcc -c -arch=compute_30 -code=sm_35 time_propagation_cublas.cu --relocatable-device-code true
nvcc -o  ./main.v2 time_propagation_cublas.o -lcublas

第一行是工作。但是第二行错了!!

代码语言:javascript
复制
In function`__sti____cudaRegisterAll_58_tmpxft_000032b7_00000000_6_time_propagation_cublas_cpp1_ii_0d699356()';tmpxft_000032b7_00000000-3_time_propagation_cublas.cudafe1.cpp:(.text+0x17a4): 
undefined reference to `__cudaRegisterLinkedBinary_58_tmpxft_000032b7_00000000_6_time_propagation_cublas_cpp1_ii_0d699356'
collect2: ld returned 1 exit status

我搜索"cudaRegisterLinkedBinary“,但我什么都没有!

我知道nvcc支持在内核中调用cublas。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-19 06:02:33

使用CUBLAS设备库示例代码作为您的参考。在标准的CUDA 5.5安装上,您可以在以下位置找到它:

代码语言:javascript
复制
/usr/local/cuda/samples/7_CUDALibraries/simpleDevLibCUBLAS

参考该目录中的Makefile,编译命令应该如下所示:

代码语言:javascript
复制
nvcc -arch=sm_35 -rdc=true -o main.v2 time_propagation_cublas.cu -lcublas -lcublas_device -lcudadevrt
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19462779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档