Changes between Version 6 and Version 7 of MpiApps


Ignore:
Timestamp:
Feb 24, 2011, 12:13:34 PM (14 years ago)
Author:
carlgt1
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MpiApps

    v6 v7  
    1111There are some platform-specific concerns with MPI programs under BOINC:
    1212
    13 Linux:  It is suggested to build mpich2 using the simple ''gforker'' process manager.  This can be done by using this configure command:  ./configure --with-pm=gforker
     13
     14== Linux ==
     15:  It is suggested to build mpich2 using the simple ''gforker'' process manager.  This can be done by using this configure command:  ./configure --with-pm=gforker
    1416For your application you will want to access the mpich2 libraries & include files, with a command similar to this:
    1517
     
    2224}}}
    2325
    24 Mac:  Similar to Linux, but you will probably want to specify the Mac architecture you are building (i.e. i386, ppc, x86_64):  ./configure --with-pm=gforker CC='gcc -arch i386'
     26== Mac ==
     27Similar to Linux, but you will probably want to specify the Mac architecture you are building (i.e. i386, ppc, x86_64):  ./configure --with-pm=gforker CC='gcc -arch i386'
    2528Note that if you are using gfortran, you may be limited to i386 unless you compile gfortran versions for the other platforms.  You will then possibly want to make a universal binary version of mipexec and your MPI applications.  You will probably need to use a configure command for your application using the above references to mpich2 libraries & include files & execs
    2629
    27 Windows:  It is simplest to download the 32 and/or 64-bit (depending on your application needs) install package from the mpich2 website given above.  You will want to distribute mpiexec.exe, smpd.exe, mpich2mpi.dll, and mpich2nemesis.dll with your app.
     30
     31== Windows ==
     32It is simplest to download the 32 and/or 64-bit (depending on your application needs) install package from the mpich2 website given above.  You will want to distribute mpiexec.exe, smpd.exe, mpich2mpi.dll, and mpich2nemesis.dll with your app.
    2833
    2934Note that Windows Firewall will block these programs (as well as your MPI app) upon first launch.  This is path-dependent, so if you change these filenames it will "count" as a new program for Windows to block.  Hence it is probably more sensible to make a zip-file bundle of your programs, and track changes by the wrapper and job.xml file.  Otherwise every new application version you make, Windows Firewall will see it as a new potentially threatening program, and your users will have to allow this newly named program through. 
     35
     36
     37----
     38
     39'''Using the Wrapper and job.xml Files'''
    3040
    3141Here is an example wrapper job.xml file for a Windows MPI app.  I assume you will zip the above files and put them in a subdirectory "bin" of your boinc project dir (using a small program called "movefiles").  So the first task is "movefiles" which unzips the programs, then the next task is to run the smpd.exe MPI daemon/service locally, and then the final task is to run the MPI job.  You will probably have another post-processing task after that.