我正在尝试在群集上运行并行作业,但每次执行此操作都会给出错误“加载共享库时出错:liblammps.so:无法打开共享对象文件:没有这样的文件或目录”。我知道我需要导出库路径,也就是“导出LD_LIBRARY_PATH = / path / to / library”,当我在本地执行然后运行程序时,一切都很好。只有当我将作业提交到集群时才会遇到任何问题。我的脚本看起来像这样
#!/bin/bash
LD_LIBRARY_PATH=/path/to/library
for i in 1 2 3
do
qsub -l h_rt=43200 -l mem=1G -pe single 1 -cwd ./Project-Serial.sh
qsub -l h_rt=43200 -l mem=1G -pe mpi-spread 2 -cwd ./Project-MPI.sh 2
qsub -l h_rt=28800 -l mem=1G -pe mpi-spread 4 -cwd ./Project-MPI.sh 4
qsub -l h_rt=19200 -l mem=1G -pe mpi-spread 8 -cwd ./Project-MPI.sh 8
qsub -l h_rt=12800 -l mem=1G -pe mpi-spread 16 -cwd ./Project-MPI.sh 16
qsub -l h_rt=8540 -l mem=1G -pe mpi-spread 32 -cwd ./Project-MPI.sh 32
done
我不确定我是否只是将路径设置在错误的位置?或者也许还有其他方法可以使用该库?任何帮助表示赞赏。
答案 0 :(得分:0)
您可以使用Linux kubernetes-minion-group-7j5x 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64 GNU/Linux
传递特定的环境变量,或qsub -v Variable_List
传递完整的环境。从那里,如果子任务依赖于库文件(qsub -V
用于mpiexec -x
),则可能需要使用-env
。