I have two mpi processes server and client which communicate via MPI. A server can handle multiple clients. I am using MPICH 1.4 and CUDA 6.5 on Windows 7 x64 machine.
On my localhost, I usually run one client instance and one server instance.
When I execute the following command through a command prompt started with administrator privileges:
mpiexec.exe -n 1 Server.exe : -n 1 Client.exe
the processes do start executing, but after a while I get the following CUDA error:
CUDA error at E:\github\project\src\cudahelper.cpp:71 code=38(cudaErrorNoDevice) "cudaGetDeviceCount( &_devCount )"
I then re-configured smpd and mpiexec using following guide with my latest domain user account and password credentials. I then double checked in Services and restarted smpd service, but I continue to get the same error.
After some R&D I figured out that if I instead run the mpi processes as localonly using the following command, then I get NO CUDA errors:
mpiexec.exe -localonly -n 1 Server.exe : -localonly -n 1 Client.exe
Any ideas what is causing CUDA errors when launching MPI processes as non-local processes.