首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cublas进行静态链接

使用cublas进行静态链接
EN

Stack Overflow用户
提问于 2020-06-30 22:29:56
回答 1查看 465关注 0票数 1

我想将我的程序链接到cublas的静态版本,但我得到了一些未定义的引用。命令和错误是

代码语言:javascript
复制
$ nvcc test.cu -o test --cudart=static  -ldl -lpthread -lcurand_static -lcublas_static -lculibos
/home/mahmood/cuda_10.1.168/bin/../targets/x86_64-linux/lib/libcublas_static.a(cublas.o): In function `cublasCtxInit(cublasContext**)':
cublas.compute_75.cudafe1.cpp:(.text+0x34b): undefined reference to `cublasLtCtxInit'
cublas.compute_75.cudafe1.cpp:(.text+0x417): undefined reference to `init_gemm_select'
...
...

实际上,库路径是正确的,并且cublasLtCtxInit存在于静态库文件中。

代码语言:javascript
复制
$ ls -l /home/mahmood/cuda_10.1.168/lib64/libcublas_static.a
-rw-rw-r-- 1 mahmood mahmood 75127082 Jun 27 16:06 /home/mahmood/cuda_10.1.168/lib64/libcublas_static.a
$ grep cublasLtCtxInit ~/cuda_10.1.168/lib64/libcublas_static.a
Binary file /home/mahmood/cuda_10.1.168/lib64/libcublas_static.a matches
$ echo $LD_LIBRARY_PATH
/home/mahmood/cuda_10.1.168/lib64:

那么,我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2020-07-01 08:27:44

可以在conjugateGradient CUDA sample codeMakefile中找到cublas的正确静态链接序列。

nvcc所需的交换机包括:

代码语言:javascript
复制
-lcublas_static -lcublasLt_static -lculibos

示例:

代码语言:javascript
复制
$ cat t1752.cu
#include <cublas_v2.h>

int main(){

  cublasHandle_t h;
  cublasCreate(&h);
}
$ nvcc t1752.cu -o t1752 -lcublas_static -lcublasLt_static -lculibos
$
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62659823

复制
相关文章

相似问题

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