2012-12-02 101 views
1

上MPI的工作,我已经使用内置的mpic++ OS X的内置并行程序,我想在我的家庭网络上运行我的两个苹果电脑MPI作业。两者都使用Snow Leopard 10.6.8,并且可以在本地运行作业。我也可以使用ssh访问其他机器。然而,进入远程运行OS X计算机

mpirun -n 2 --host localhost,10.0.1.2 ./enigmaMPI 

后问我输入密码,然后我得到这个输出:

-------------------------------------------------------------------------- 
Failed to find or execute the following executable: 

Host:  iMac.local 
Executable: ./enigmaMPI 

Cannot continue. 
-------------------------------------------------------------------------- 
mpirun noticed that job rank 0 with PID 7748 on node localhost exited on signal 15 (Terminated). 

这个消息是不是很具体,帮我找到一个解决办法......可能有人帮助,请?

我建立使用下面的命令我的程序:

mpic++ main.cpp enigma.cpp enigma.h -o enigmaMPI 
+0

一个我与同时实施的甩了Linux系统形成我MPI集群被设置密码的ssh少挣扎的步骤。这正是这里的问题。 MPI程序以SPMD模式执行,这意味着它们都在所有节点上同时执行。 [This](http://osxdaily.com/2012/05/25/how-to-set-up-a-password-less-ssh-login/)看起来很有帮助。 – axiom

回答

1

的消息如下信息,因为它可以得到的。这意味着MPI无法在远程节点上的相同位置找到可执行文件enigmaMPI。你必须确保:

  • enigmaMPI可以在同一位置发现两个localhost10.0.1.2;
  • MPI库和运行时间安装在两台机器上。

由于您运行的是Snow Leopard,因此很可能使用随附的Open MPI版本。那么你不必担心第二点。第一点意味着,如果你的本地计算机上enigmaMPI/Users/username/project/enigmaMPI下被发现,那么你必须把它复制到另一台Mac相同的路径。

这就是为什么大多数集群使用共享文件系统,如NFS,光泽,GPFS,并已安装在每个计算节点上的同一个地方。另外,正如公理指出的那样,设置无密码SSH(使用公钥)可以节省您每次运行mpirun时输入密码。

此外,据我可以记得,雪豹仍然包括的Xgrid和设置在该开放MPI版本具有能够通过的Xgrid执行处理的模块。你只需要启用第二Mac上的Xgrid共享,然后以某种方式使用的Xgrid启动...

+0

谢谢,问题出在了地点。在使用共享文件系统的大学计算机上尝试MPI后,我还没有意识到需要照顾他们。 – Melebius

+0

@Melebius,您可以创建在Mac电脑中的一个卷,然后通过在'系统偏好设置网络共享...' - >'Sharing' - >'文件Sharing'。它最终会挂载在两台机器上的'/ Volumes/VolumeName'下,然后你不需要手动复制这些文件。 –