[mpich-discuss] Problem mixing 32 bit and 64 bit machines

Jayesh Krishna jayesh at mcs.anl.gov
Sun Mar 21 08:38:32 CDT 2010


Hi,
 MPICH2 has separate dlls (although the dll names are the same) for IA32 and x64 applications. So in your case the 32-bit application does not work (missing dll error message) because you don't have the IA32 version of the dll installed in your system.
 We currently do not support installing IA32 and x64 versions of MPICH2 on the same machine (It is in our todo list though).
 So in your case you will have to manually copy the libs (MPICH2\lib\*), the header files (MPICH2\include\*) and the dlls (c:\windows\system32\mpich*.dll , c:\windows\system32\fmpich*.dll, c:\windows\system32\mpe*.dll) from an IA32 installation to your x64 machine. Copy the dlls to the local directory containing your executable. I know it is not an optimal solution, however that is the best solution for you as of now.
 Let us know if it works for you.

Regards,
Jayesh
----- Original Message -----
From: "Peter Smith" <smithpd at lanl.gov>
To: mpich-discuss at mcs.anl.gov
Sent: Friday, March 19, 2010 5:09:49 PM GMT -06:00 US/Canada Central
Subject: [mpich-discuss] Problem mixing 32 bit and 64 bit machines

Background -- I have installed the 64 bit version of MPICH2 on my x64 computer, and I have both 32 and 64 bit versions of the libraries that I can use to build 32 bit and 64 bit versions of my code.  These code versions run fine on their respective target platforms.  However, when running the 32 bit MPI application on my 64 bit machine (either by itself or launched by mpiexec), it complains about a missing DLL, mpich2mpi.dll. This DLL name exists in C:\WINDOWS\system32.  Evidently that is a 64 bit version of the DLL, and it is incompatible with the launching of a 32 bit EXE.

The real problem -- What I would like to be able to do is to launch a 32 bit MPI executable on a mix of 32 bit and 64 bit machines.  I suppose we could install the 32 bit version of mpiexec on all these machines including the 64 bit machines.  Would it work then in mixed hardware environments?

Also, is it possible to have 64 bit and 32 bit MPICH2 coexist on one machine?  Since mpich2mpi.dll has the same name, it seems unlikely now, but I am just asking if it is somehow possible.  If not, it might be a useful feature for the future.  Perhaps you could use unique names to avoid conflict.

It is not clear to me what are the ground rules for mixing hardware platforms to run MPICH2 software builds: what works and what doesn't work, and why.  Kindly explain or point me to some documentation.  If you know a way to do this hardware mixing, please let me know.

_______________________________________________
mpich-discuss mailing list
mpich-discuss at mcs.anl.gov
https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss


More information about the mpich-discuss mailing list