c-编译并运行OpenMPI程序

我正在使用的群集具有几种主机类型-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.)

上一篇:python-如何使用机器人并行化这种情况


下一篇:MPI编程入门详解