I am trying to execute my MPI program which i wrote in C on a cluster but every time before executing it on the cluster i have to copy the executable from the master to the slave node as seen below.
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
The pifile is my hostname file. Its contents are as follows
92.168.1.37
192.168.1.38
Now if i don't copy the executable then this is the error i get
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
===================================================================================
I would like to know how to avoid copying the executable as it does not make sense to do so in a big cluster.
In case you are suggesting an NFS implementation please explain how to go about it as i have no experience about the same.
Thank You