1

我是初学者并在 ubuntu 11.10 上安装 pycuda2011.2.2,但无法完成。库达是 4.0。

我已经安装了库:

$ sudo apt-get install build-essential python-dev python-setuptools libboost-python-dev libboost-thread-dev -y

像这样调用configure.py:

$ ./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib --boost-inc-dir=/usr/include --boost-lib-dir= /usr/lib --boost-python-libname=boost_python-mt-py27 --boost-thread-libname=boost_thread-mt

但是,当我这样做时:

.....@ubuntu:~/pycuda-2011.2.2$ make -j 4 

我收到此错误:

/usr/bin/ld: 找不到 -lcuda

/usr/bin/ld:在搜索 -lcurand 时跳过不兼容的 /usr/local/cuda/lib/libcurand.so

为什么这个错误?

谢谢。

4

2 回答 2

1

您需要设置LDFLAGS环境变量,以便pycuda设置可以找到libcuda.so,它在 ubuntu 系统上位于非标准位置 ( /usr/lib/nvidia-current)。

pycuda 2012.1的安装完全基于 distutils,不Makefile涉及。您可以通过运行适当的选项来安装pycuda ,然后使用../configure.pyLDFLAGS=/usr/lib/nvidia-current python setup.py install

于 2012-08-09T18:04:08.970 回答
0

如果你为nvidia卡使用一些较新的驱动,比如nvidia-313(我用的就是这个),那么文件libcuda.so(昵称lcuda,我不知道为什么)可能不在cuda安装目录中(默认情况下,它是 /usr/lib/cuda)。相反,您可能必须自己找到它。做:

$ 查找 /usr/lib/*/libcuda.so

对我来说,结果是

/usr/lib/nvidia-313-updates/libcuda.so

所以,在安装 pycuda 时,我会这样做:

$ python configure.py --cuda-root=/usr/lib/nvidia-313-updates

$ 制作

$ sudo 安装

然后,

$ optirun python 测试/test_driver.py

或者

$ optirun python some_program_which_imports_pycuda.py

应该可以正常工作。

于 2014-02-21T15:33:57.293 回答