[mpich-discuss] one question - unix MPICH2 apps binary compatibility

Jayesh Krishna jayesh at mcs.anl.gov
Fri Jun 5 16:58:14 CDT 2009


Hi,
 On unix systems you probably need to provide the bin directory from your
MPICH2 installation (to provide the process manager/launcher apps).
However this could get messy if your customer has a different version of
OS, runs your code on a different arch or has a different version of
glibc. You can use tricks like "symbol versioning" to achieve binary
compatibility across glibc versions
(http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=FAQ;hb=HEAD).
 If your application is open source you can ship the MPICH2 source code
with your app source and the customer can do a
configure/make/make_install.
 
Regards,
Jayesh


  _____  

From: Shangli Wu [mailto:shangliw at cadence.com] 
Sent: Friday, June 05, 2009 3:17 PM
To: Jayesh Krishna
Subject: RE: [mpich-discuss] one question


Thanks a lot.
 
How about on Unix (such as Solaris/Linux) machines?
 
Shangli


  _____  

From: Jayesh Krishna [mailto:jayesh at mcs.anl.gov] 
Sent: Friday, June 05, 2009 4:12 PM
To: Shangli Wu
Cc: mpich-discuss at mcs.anl.gov
Subject: RE: [mpich-discuss] one question


Hi,
 If you have developed your application on windows using MPICH2 you can
follow the instructions from the "MINIMAL INSTALLATION" section in
README.winbin.rtf document (available in your installation directory). Or
you can ask the user to install MPICH2 separately.
 I am providing the information from the README below (you can consider
the worker nodes as the user's compute node) for your reference,
 
==========================================================================
==
If you want to have worker nodes that do not have any tools on them, you
can simply copy smpd.exe to each node and execute "smpd.exe -install". 

smpd.exe is the only application required on each machine to launch MPICH2
jobs. But, MPICH2 applications require the mpich2 dlls. This requirement
can be satisfied by copying the mpich2 dlls to the windows\system32
directory on each node. Then any mpich2 application can run on those
systems. This is what the installer does. If you don't want to copy the
mpich2 dlls to each machine, then you need to place the dlls in the same
location as the executable you are going to launch.

For example, if you have a directory called \\myserver\mysharedfolder and
you have myapp.exe and *mpich2*.dll in that directory then you can execute
this command: "mpiexec -n 4 \\myserver\mysharedfolder\myapp.exe"

Note: There are several mpich2 dlls and depending on your build target
(Fortran, C, Debug or Release) you will need the corresponding dlls in the
application directory.

==========================================================================
==
 
  Please find below the list of dlls (you can find them in
c:\windows\system32 directory in your machine) installed with MPICH2,
 
====================================================
 
C:\>dir c:\windows\system32\mpich2*.dll
 Volume in drive C has no label.
 Volume Serial Number is AC9F-67B7
 
 Directory of c:\windows\system32
 
05/17/2009  04:34 AM         1,249,280 mpich2.dll
06/02/2009  10:13 PM           151,552 mpich2mpe.dll
05/13/2009  09:22 AM           163,840 mpich2mpi.dll
06/02/2009  11:26 PM         1,265,664 mpich2mt.dll
06/02/2009  11:37 PM         1,462,272 mpich2mtp.dll
06/02/2009  11:49 PM         2,318,336 mpich2nemesis.dll
06/02/2009  11:59 PM         2,527,232 mpich2nemesisp.dll
06/02/2009  01:57 AM         1,404,928 mpich2p.dll
06/02/2009  02:39 AM         1,183,744 mpich2shm.dll
06/02/2009  02:50 AM         1,368,064 mpich2shmp.dll
06/02/2009  03:04 AM         1,232,896 mpich2ssm.dll
06/02/2009  03:16 AM         1,449,984 mpich2ssmp.dll
              12 File(s)     15,777,792 bytes
               0 Dir(s)   5,438,078,976 bytes free
 
C:\>dir c:\windows\system32\fmpich2*.dll
 Volume in drive C has no label.
 Volume Serial Number is AC9F-67B7
 
 Directory of c:\windows\system32
 
06/02/2009  02:19 AM           114,688 fmpich2.dll
06/02/2009  02:24 AM           118,784 fmpich2g.dll
06/02/2009  02:29 AM           126,976 fmpich2s.dll
               3 File(s)        360,448 bytes
               0 Dir(s)   5,438,078,976 bytes free
 
C:\>dir c:\windows\system32\mpe*.dll
 Volume in drive C has no label.
 Volume Serial Number is AC9F-67B7
 
 Directory of c:\windows\system32
 
06/02/2009  10:13 PM           135,168 mpe.dll
               1 File(s)        135,168 bytes
               0 Dir(s)   5,438,078,976 bytes free
 
====================================================
 
 Please let us know if you require further help.
 
Regards,
Jayesh
 


  _____  

From: mpich-discuss-bounces at mcs.anl.gov
[mailto:mpich-discuss-bounces at mcs.anl.gov] On Behalf Of Shangli Wu
Sent: Friday, June 05, 2009 2:59 PM
To: mpich-discuss at mcs.anl.gov
Subject: [mpich-discuss] one question


I have a question about deliver our application with MPICH2. We are build
some applications using MPICH2. When we deliver our executables to
customer, what MPICH2 stuff do we have to ship to customer at same time? 
 
Thanks
 
Shangli Wu

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20090605/652ca058/attachment-0001.htm>


More information about the mpich-discuss mailing list