Out product includes GUI and engine parts. Intel MPI 4.1 was used in engine code. GUI will can engine through mpiexec. Everything works fine on Windows 7 and Windows server 2008. When we run the product on Windows 8 and Windows server 2012, we met some problem.
The code to start engine looks like CreateProcess( NULL, "mpiexec - n 2 engine", NULL, ........) . After engine exit, mpiexec still hang in memory and cannot exit. This will cause GUI hang. If we run the engine form command, mpiexec can exit after engine exit.
I upgraded MPI from 4.1 to 5.0 and wrote a simple code to test on Windows 8. I ran the code with command.
mpiexec -n 2 mysample.exe
This time, mpiexec cannot exit after mysample.exe exit.