我正在尝试在群集上执行MPI和CUDA代码。代码在单机上工作正常但是当我尝试在集群上执行它时我得到错误:
加载共享库时出现错误:libcudart.so.4:无法打开共享对象文件:没有这样的文件或目录
我检查了我的PATH和LD_PATH,看起来没问题。我有一个.bashrc文件,其中包含以下条目 -
export PATH = $ PATH:/ usr / local / lib /:/ usr / local / lib / openmpi:/ usr / local / cuda / bin export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/ usr / local / lib:/ usr / local / lib / openmpi /:/ usr / local / cuda / lib
所有机器都安装了相同的CUDA和OpenMPI。
我在/etc/ld.so.conf中也有/ usr / local / cuda / lib
任何人都可以帮助我。这个问题真的很烦人。
感谢。
答案 0 :(得分:5)
如果要在群集上发送批处理作业,请添加
等命令echo $LD_LIBRARY_PATH
ldd ./your_app
到您的批处理脚本。这应该有助于调试问题。
还要确保在mpirun中导出环境变量。例如,在OpenMPI中,您将使用
运行代码mpirun -x LD_LIBRARY_PATH ...