在open-mpi/mpi-run中加载共享库

piy*_*sao 5 mpi pbs torque

我正在尝试使用mpi run使用扭矩调度程序运行我的程序.虽然在我的pbs文件中我加载了所有的库

export LD_LIBRARY_PATH=/path/to/library
Run Code Online (Sandbox Code Playgroud)

然而它给出了错误,即

error while loading shared libraries: libarmadillo.so.3: 
cannot open shared object file: No such file or directory. 
Run Code Online (Sandbox Code Playgroud)

我猜错误在于所有节点中都没有设置变量LD_LIBRARY_PATH.我怎么能让它起作用?

Hri*_*iev 16

LD_LIBRARY_PATH不会自动导出到MPI进程,由...生成mpirun.你应该用

mpirun -x LD_LIBRARY_PATH ...
Run Code Online (Sandbox Code Playgroud)

推动价值LD_LIBRARY_PATH.还要确保指定的路径存在于群集中的所有节点上,并且libarmadillo.so.3随处可用.

  • 如果使用本机Torque/TM支持编译Open MPI,则LD_LIBRARY_PATH(以及环境的其余部分)应自动传播到分配中的所有节点.如果Open MPI没有使用本机Torque支持构建,那么我猜你正在使用rsh/ssh启动,在这种情况下需要"-x LD_LIBRARY_PATH"子句.我实际上建议用Torque/TM支持重建OMPI; 由于多种原因,它比rsh/ssh支持更好. (2认同)