设为首页 加入收藏

TOP

CUDA函数库调用问题解决
2013-11-20 14:18:15 来源: 作者: 【 】 浏览:156
Tags:CUDA 函数 调用 问题 解决

  问题: 装好CUDA5.5, samples也安装成功,编译也成功了,但是在运行程序的时候出问题了。

  譬如进入NVIDIA_CUDA-5.5_Samples/7_CUDALibraries/ 目录中,执行 ./conjugateGradientPrecond

  结果报错了,居然报错了:

  ./conjugateGradientPrecond: error while loading shared libraries: libcublas.so.5.5: cannot open shared object file: No such file or directory

  解决:

  首先找到libcublas.so.5.5 这个文件在哪里,在我的系统Ubuntu12.04,文件在 /usr/local/cuda-5.5/lib64/ 目录下。

  然后 sudo vim /etc/ld.so.conf.d/cuda_lib.conf

  在文档里添加目录 /usr/local/cuda-5.5/lib64/

  写完后,然后 sudo ldconfig.

  记住一定要用sudo,除非你在root下。

  解释:

  程序在编译的时候需要library,在执行的时候更需要library. LD_LIBRARY_PATH是编译时bash shell可以设定的环境变数,

  但是程序在运行时,不一定会读取到这个变数,所以就要设定/etc/ld.so.conf.

  但是通常我们会把费系统预设安装的函数库放在/etc/ld.so.conf里面,也就是说,今天cuda5.5的library的真实路径是

  /usr/local/cuda-5.5/libXX

  这个路径放在ld.conf可以读取到的地方。一般系统管理员的习惯会在ld.so.conf.d这个目录下再新增一个档案。档案名称就是XXX.conf

  然后把library的path加入到这个档案里面,然后再ldconfig,系统就会重新设定。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇一个求整数开方的算法 下一篇C语言中sizeof()求字节数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: