我一直在尝试解决问题,以便能够在多个节点上运行openmpi。
最初,我遇到问题$PATH
和$LD_LIBRARY_PATH
变量没有通过openmpi会话从.bashrc
文件进行更新,因此我手动添加了--prefix /path/to/openmpi
来解决此问题。 / p>
结果是,即使anaconda路径变量也没有被加载。因此,最终我需要从我的主目录获取~/.bashrc
文件。我怎样才能做到这一点?有人可以帮我吗?
更新01:
我写了一个简单的shell脚本来检查python的版本
python --version
并尝试使用openmpi在本地以及远程计算机上运行它,如下所示:
mpirun --prefix /home/usama/.openmpi --hostfile hosts -np 4 bash script
它返回
Python 2.7.12
Python 3.6.8 :: Anaconda, Inc.
Python 3.6.8 :: Anaconda, Inc.
Python 2.7.12
确认我怀疑openmpi为运行远程进程所做的任何事情都不会从〜/ .bashrc文件调用/设置适当的环境变量。来自使用多节点openmpi的人的任何帮助?
更新02:
一个简单的ssh环境grep告诉我,我的环境变量未更新,这可能是问题的原因。 (我什至试图在〜/ .ssh / environment文件中进行设置)
$ ssh remote-node env | grep -i path
似乎仅使用基本路径设置来加载/ etc / environment文件。我该如何纠正?
答案 0 :(得分:1)
也许你应该这样跑。我想。 两种方法可以帮助您!
第一:
mpirun --prefix /home/usama/.openmpi --hostfile hosts -np 4 . ~/.bashrc && bash script
秒:
## 1. add this line to the script
. ~/.bashrc
## 2. run command as you do
mpirun --prefix /home/usama/.openmpi --hostfile hosts -np 4 bash script