I had a problem executing a parallel program built with MPICH2 from Argonne National Laboratory. I had been able to use "mpiexec" to execute example codes and my test codes but the followings happened yesterday when I tried to run my "Practice.exe" parallel Hello World code:
The current directory is "t:\", which is a subst drive that maps to "c:\Briefcase\Tmp".
I spent many hours yesterday trying to find what went wrong but got no luck. This morning, by accident and perhaps serendipity, I tried to execute the code with an absolute (non-subst) path. It works!! Here is the output:
MPI executes parallel codes by making multiple Remote Procedure Calls (RPCs). My guess is that subst drives are created on a per-user session basis and is not accessible when an RPC call is made. That's why using mpiexec when the present working directory is a subst drive doesn't work.
Keywords: windows-xp, subst, mpi, parallel-computing, mpich2
The current directory is "t:\", which is a subst drive that maps to "c:\Briefcase\Tmp".
$mpiexec -np 4 "Practice.exe"
launch failed: CreateProcess(Practice.exe) on 'tvs-laptop' failed, error 2 - The system cannot find the file specified.
launch failed: CreateProcess(Practice.exe) on 'tvs-laptop' failed, error 2 - The system cannot find the file specified.
launch failed: CreateProcess(Practice.exe) on 'tvs-laptop' failed, error 2 - The system cannot find the file specified.
launch failed: CreateProcess(Practice.exe) on 'tvs-laptop' failed, error 2 - The system cannot find the file specified.
I spent many hours yesterday trying to find what went wrong but got no luck. This morning, by accident and perhaps serendipity, I tried to execute the code with an absolute (non-subst) path. It works!! Here is the output:
$mpiexec -np 4 c:\Briefcase\Tmp\Practice.exe
[2 of 4] Hello from tvs-laptop
[0 of 4] Hello from tvs-laptop
[3 of 4] Hello from tvs-laptop
[1 of 4] Hello from tvs-laptop
MPI executes parallel codes by making multiple Remote Procedure Calls (RPCs). My guess is that subst drives are created on a per-user session basis and is not accessible when an RPC call is made. That's why using mpiexec when the present working directory is a subst drive doesn't work.
Keywords: windows-xp, subst, mpi, parallel-computing, mpich2
Comments