我正在使用的群集具有几种主机类型-Linux的不同发行版/版本,一些32位,一些64位以及不同版本的GCC.我知道我应该使用针对GCC的特定于平台的MPI包装器来编译程序.这一步对我来说还是差不多的.
我的程序使用固定数量的主机,每个主机仅运行1个进程.共享内存线程由TBB处理,因此基本上我只需要MPI才能在主机之间分配工作.
最后一步是在所有主机上运行该程序.事实证明,这是我不确定该怎么做的部分,而我的IT人员也帮不了我.
我所拥有的是主机IP地址(准确地说是本地地址,例如192.168.1.xxx)以及每个主机的用户名和密码的列表.如果将程序与平台特定的编译器一起编译并复制到每个主机中,那么在所有主机上运行程序的步骤是什么?任何帮助表示赞赏.
解决方法:
您需要对所有计算机的无密码SSH访问,主机文件以及所有计算机上的可执行文件.
确保可执行文件在所有计算机上都具有相同(相对)路径.
主机文件(在主计算机上):
# my_hostfile
192.168.0.205
192.168.0.208
打开MPI的命令:
mpirun --hostfile my_hostfile programname
要进行无密码的SSH访问,请在〜/ .ssh下创建一个主密钥
ssh-keygen -t rsa
将主计算机中〜/ .ssh / rsa.pub的(一行)内容添加到目标计算机上〜/ .ssh / authorized_keys2中的新行. (您可以使用另一个SSH密码系统来代替RSA.)
标签:mpi,c-3,linux,c-4
来源: https://codeday.me/bug/20191208/2088368.html