请教在分布式内存上系统上运行CUDA程序出现的问题

jzjayz 2014-12-08 08:03:33
如题,我编写了一个基于MPI和CUDA并行的程序,实验室的集群是分布式系统,有两个节点,每个节点上有4块GPU。之前没有将程序搬到GPU上只用MPI并行时,程序可以在两个节点上运行。将程序使用了CUDA并行后,如果只是单独在一个节点上调用4个GPU并行没出问题(两个节点都验证过),一旦跨节点调用后就出现报错,报错信息为error while loading shared libraries: libcudart.so.5.0: cannot open shared object file: No such file or directory。之后又运行了SDK 中的 simpleMPI程序,遇到同样的结果。我在程序计算前,已经设置了环境变量。请教大家有没有遇到过类似的问题。
...全文
1274 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
linxxx3 2014-12-15
  • 打赏
  • 举报
回复
引用 7 楼 jzjayz 的回复:
[quote=引用 3 楼 linxxx3 的回复:] 怎么设置环境变量的?用bashrc设置可能会不生效。 可以试试单独写一个shell脚本,在脚本里设置环境变量和启动程序,然后MPI启动shell脚本: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 your_exe args ...
不好意思之前不知道怎么回复。 环境变量就是按照网上说的设置的,在单节点上没有问题。 我的程序是在集群上面跑的, 提交任务时要写一个pbs脚本,我在脚本里面设置了环境变量,所以每次提交任务就会自动设置环境变量。应该和你说的意思一样吧? 可是跨节点时还是不行,是不是集群设置的时候没有设置好什么参数之类的问题?[/quote] 我就是不确定PBS是不是正确设置环境变量,所以让你做这个测试。我用过slurm就碰到过这种bug。 自己在shell里设一遍,肯定是万无一失的。 想确定资源管理器是不是正常,写个脚本,内容就echo你在pbs里导出的环境变量,然后pbs运行。
ww506772362 2014-12-10
  • 打赏
  • 举报
回复
没有碰到过……
jzjayz 2014-12-10
  • 打赏
  • 举报
回复
引用 3 楼 linxxx3 的回复:
怎么设置环境变量的?用bashrc设置可能会不生效。 可以试试单独写一个shell脚本,在脚本里设置环境变量和启动程序,然后MPI启动shell脚本: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 your_exe args ...
不好意思之前不知道怎么回复。 环境变量就是按照网上说的设置的,在单节点上没有问题。 我的程序是在集群上面跑的, 提交任务时要写一个pbs脚本,我在脚本里面设置了环境变量,所以每次提交任务就会自动设置环境变量。应该和你说的意思一样吧? 可是跨节点时还是不行,是不是集群设置的时候没有设置好什么参数之类的问题?
jzjayz 2014-12-10
  • 打赏
  • 举报
回复
OK,感谢回复!
jzjayz 2014-12-09
  • 打赏
  • 举报
回复
环境变量就是按照网上说的设置的,在单节点上没有问题。 我的程序是在集群上面跑的, 提交任务时要写一个pbs脚本,我在脚本里面设置了环境变量,所以每次提交任务就会自动设置环境变量。应该和你说的意思一样吧? 可是跨节点时还是不行,是不是集群设置的时候没有设置好什么参数之类的问题?
linxxx3 2014-12-09
  • 打赏
  • 举报
回复
怎么设置环境变量的?用bashrc设置可能会不生效。 可以试试单独写一个shell脚本,在脚本里设置环境变量和启动程序,然后MPI启动shell脚本: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 your_exe args ...
jzjayz 2014-12-08
  • 打赏
  • 举报
回复
没事,还是谢谢了
YCMyTot 2014-12-08
  • 打赏
  • 举报
回复
没有碰到过!Sorry!

374

社区成员

发帖
与我相关
我的任务
社区描述
CUDA on Linux
社区管理员
  • CUDA on Linux社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧