很多时候你会想要把一台机器上已经安装的openmpi 工具拷到其他机器上直接用,而不必在每一台机器上都重新安装一次。如果保证目标机器的openmpi文件夹路径与安装源的一致,那么没有问题。如果想换一个文件夹,即使是在同一台机器上迁移,openmpi是跑不起来的,原因是二进制程序里hard code了安装时的prefix 路径。
好在很早(1.2.1 版本以后)官方对这个就给了一个解决方案,设置 OPAL_PREFIX 环境变量,最简单的方法把新的位置加到 bashrc 文件里:
export OPAL_PREFIX=/openmpi-new-dir
更精细的,可以设置每个子目录的新位置,具体参考官方FAQ:re-locate openmpi
其他要说明的:
1. 记得设置 LD_LIBRARY_PATH
2. MPI 安装时可能选择了一些额外的组件,比如我这里用到了torque,那么 libtorque.so 也要拷贝过来,并且设置LD_LIBRARY_PATH