gpt4 book ai didi

python - 无法编译 cuda_ndarray.cu : libcublas. so.7.5:无法打开共享对象文件

转载 作者:太空狗 更新时间:2023-10-29 22:10:50 24 4
gpt4 key购买 nike

我正在尝试在 aws 实例中导入 theano 库以使用 GPU。我已经使用 boto 编写了一个 python 脚本来自动执行 aws 设置,它基本上会从我的本地计算机对实例执行 ssh,然后在我执行“python -c 'import theano'” 的地方启动 bash 脚本启动 GPU。但是我收到以下错误:

ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: libcublas.so.7.5: cannot open shared object file: No such file or directory

当我尝试在实例命令 shell 中直接导入 theano 模块时,它会自动开始使用 GPU。

Using gpu device 0: GRID K520 (CNMeM is disabled)

我想我遗漏了一些在通过我的自动化 python 脚本导入时必须进行的其他导入。可能的解决方案是什么?

最佳答案

我会尝试清楚简洁地解决这个问题,因为我发现对于刚开始使用 unix 或不熟悉编译和链接的人来说不是很好的答案。

问题与动态链接有关,可以通过两种方式解决。第一个是通过设置 LD_LIBRARY_PATH 环境变量。假设 cuda 安装在/usr/local/cuda/中,只需在你的环境文件/etc/enviroment 中添加:

LD_LIBRARY_PATH=/usr/local/cuda/

或者只是在你的 bashrc 中:

export LD_LIBRARY_PATH=/usr/local/cuda/lib64/

Unix 专家不推荐此解决方案(我不是我刚刚在 Internet 上读到的,我跟随 Linux 专家)。所以我找到的解决办法很简单,修改linux ld软件默认搜索库的路径。要做到这一点就去做(你必须以 root 身份来做):

cd /etc/ld.so.conf.d/

然后选择例如并编辑:

vi libc.conf 

在此文件中,只需将路径添加到 lib64 根目录,例如:

/usr/local/cuda/lib64/

你会在文件中得到这样的东西:

\# libc default configuration

/usr/local/lib

/usr/local/cuda/lib64/

然后运行:

sudo ldconfig

希望这个答案能帮助那些刚开始接触编程或使用高级语言的人,例如使用下面 C 代码的 python(就像 theano 那样)并且不熟悉编译,linkig ...

关于python - 无法编译 cuda_ndarray.cu : libcublas. so.7.5:无法打开共享对象文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35619962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com