【发布时间】:2014-11-07 21:29:56
【问题描述】:
我正在尝试在集群上执行我用 C 语言编写的 MPI 程序,但每次在集群上执行它之前,我都必须将可执行文件从主节点复制到从节点,如下所示。
pi@raspberrypi ~ $ mpicc -o test sir.c
pi@raspberrypi ~ $ scp test pi@192.168.1.38:/home/pi/test
test 100% 1142KB 1.1MB/s 00:01
pi@raspberrypi ~ $ mpiexec -f pifile -n 2 ./test
pifile 是我的主机名文件。其内容如下
92.168.1.37
192.168.1.38
现在如果我不复制可执行文件,那么这就是我得到的错误
pi@raspberrypi ~ $ mpiexec -f pifile -n 2 ./test
[proxy:0:1@raspberrypi2] HYDU_create_process (/home/pi/mpich3/mpich-
3.0.4/src/pm/hydra/utils/launch/launch.c:75): execvp error on file ./test (No such file or
directory)
===================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= EXIT CODE: 255
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
我想知道如何避免复制可执行文件,因为在大型集群中这样做没有意义。
如果您建议使用 NFS 实现,请说明如何进行,因为我没有这方面的经验。
谢谢
【问题讨论】:
标签: c raspberry-pi mpi scp nfs