Does any body know how can I use MS_MPI in my VC++ MFC project? I already have a big MFC project and I only want to use parallel processing in a part of it with MPI. (I know how to use MPI in a separate code, but I don't know how to integrate it with my VC++ MFC project)
It is possible. You use it the same way as any other MPI project.
In general, you can link against any C++ library from an MFC project. MFC is just a set of libraries, and doesn't restrict you from using other C++ libraries.
Not sure about MS_MPI, but you wanna look at MPICH2 Windows documentation guide at the url at the bottom.
9.3 MPI apps with GUI Many users on Windows machines want to build GUI apps that are also MPI applications. This is completely acceptable as long as the application follows the rules of MPI. MPI Init must be called before any other MPI function and it needs to be called soon after each process starts. The processes must be started with mpiexec but they are not required to be console applications. The one catch is that MPI applications are hidden from view so any Windows that a user application brings up will not be able to be seen. mpiexec has an option to allow the MPI processes on the local machine to be able to bring up GUIs. Add -localroot to the mpiexec command to enable this capability. But even with this option, all GUIs from processes on remote machines will be hidden.
So the only GUI application that MPICH2 cannot handle by default would be a video-wall type application. But this can be done by running smpd.exe by hand on each machine instead of installing it as a service. Log on to each machine and run “smpd.exe -stop” to stop the service and then run “smpd.exe -d 0” to start up the smpd again. As long as this process is running you will be able to run applications where every process is allowed to bring up GUIs.
: http://www.mcs.anl.gov/research/projects/mpich2/documentation/files/mpich2-1.2.1-windevguide.pdf