5

当我mpiexec在几台计算机上运行时,它们中的一些不会自动加载它们的本地环境——它们似乎没有运行它们的bashrcbash_profile文件。当我ssh进入这些麻烦的计算机时,一切都很好(环境就在那里)。还能缺少什么?

如果我跑

mpiexec -np 1 --host remotehost printenv

我得到一个非常小的结果。但是,如果我执行以下操作

ssh remotehost
printenv

我得到了一个更大、更全面的结果。这两者有什么区别?

4

1 回答 1

0

MPI 作业在不加载的非交互式 shell 中运行.bashrc.bashrc通常最好在对 mpiexec 的调用中设置环境变量,而不是让每个作业加载自己的。默认情况下,MPICH 将传递启动过程中的所有环境变量,但对于 OpenMPI,您需要使用该--envall选项。

于 2019-02-10T05:41:30.697 回答