[MPICH] mpich2 and win64

David Ashton ashton at mcs.anl.gov
Fri Feb 24 14:49:11 CST 2006


Helge Avlesen,

1) Yes, both the 32bit and 64bit versions of MPICH2 can be installed on a
Win64 machine at the same time.  The Win32 distribution ends up in the
\Program Files (x86)\MPICH2 directory and the dlls end up in the
Windows\SysWOW64 directory.  The Win64 dlls should be placed in the
Windows\system32 directory.  The sticky point is getting .NET 1.1 installed
on the Win64 machine.  I had to use the redistributable package,
dotnetfx.exe, since 1.1 is not available from Windows Update for Win64.  I
was able to run Win32 and Win64 binaries of the cpi example at the same
time.

I believe Digital Visual Fortran uses dynamic libraries that must be
installed on the target machine in order for programs to run.  Could that be
the problem?

2) Shared memory usage is determined by the MPICH2 channel, not by mpiexec.
The default channel is the socket channel which does not use shared memory.
If you want to use shared memory on a node you should use the ssm, shm, or
sshm channels.  You can specify them on the command line like this: mpiexec
-channel shm -n 3 myapp.exe.  It doesn't matter if you select -localonly or
not.  You can set the channel to "auto" using the wmpiconfig tool an then
mpiexec will choose either the ssm, shm or sshm channels depending on where
your application will be launched.

3) Win64 only has one calling convention so the only problem with using
other compilers is getting the naming convention to match.  The fmpich2.dll
that comes with MPICH2 for Win64 uses all capital letters with no
underscores like this: MPI_INIT, MPI_SEND, etc.  If you can get the pgi
compiler to generate those symbols then it should work.

Hope this helps,
-David Ashton

-----Original Message-----
From: owner-mpich-discuss at mcs.anl.gov
[mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Helge Avlesen
Sent: Friday, February 24, 2006 12:59 AM
To: mpich-discuss at mcs.anl.gov
Subject: [MPICH] mpich2 and win64

Hi,
thanks for a great MPI implementation, just a couple of questions:

1) is it possible to use the 32bit mpich2 binary distribution on win64
(amd cpu's)? tried this with an old digital visual fortran, it links
ok, but fails when run. the same mpi program works ok on a XP laptop.

2) when mpich is used with mpiexec's -localonly option, will mpich use
shared memory to communicate on large SMP windows machines?

3) will the 64bit binary distribution of mpich2 for win64 work with
other compilers for win64 like e.g. pgi, or is intel visual fortran an
absolute requirement?  we tried pgi but no matter what underscoring
rules we used we got undefined symbols for all of the mpi routines our
program used.

sincerely,
Helge Avlesen





More information about the mpich-discuss mailing list