Difference between revisions of "GPC MPI Versions"

From oldwiki.scinet.utoronto.ca
Jump to navigation Jump to search
Line 1: Line 1:
 
=== OpenMPI ===
 
=== OpenMPI ===
  
To use [http://www.open-mpi.org/ OpenMPI] compiled with intel load the module
+
To use [http://www.open-mpi.org/ OpenMPI] compiled with intel load the modules
  
 
<pre>
 
<pre>
Line 13: Line 13:
 
</pre>  
 
</pre>  
  
OpenMPI has been build to support various communication methods and automatically use the best method
+
The MPI libraries wrappers for compiling are  mpicc/mpicxx/mpif90/mpif77.
 +
 
 +
OpenMPI has been build to support various communication methods and automatically uses the best method
 
depending on how and where it is run.  To explicitly specify the method you can use the following <tt>--mca</tt>
 
depending on how and where it is run.  To explicitly specify the method you can use the following <tt>--mca</tt>
 
flags on ethernet
 
flags on ethernet
Line 19: Line 21:
 
<pre>
 
<pre>
 
mpirun --mca btl self,sm,tcp -np 16 -hostfile $PBS_NODEFILE ./a.out
 
mpirun --mca btl self,sm,tcp -np 16 -hostfile $PBS_NODEFILE ./a.out
 
 
</pre>  
 
</pre>  
  
Line 32: Line 33:
 
=== MVAPICH2 ===
 
=== MVAPICH2 ===
  
[http://mvapich.cse.ohio-state.edu/ MVAPICH2]
+
[http://mvapich.cse.ohio-state.edu/ MVAPICH2] is an [http://www.mcs.anl.gov/research/projects/mpich2/ MPICH2] derivative
 +
primarily designed for MPI communications over Infiniband. To use MVAPICH2 compiled with the intel compilers for infiniband
 +
load the modules 
 +
 
 +
<pre>
 +
module load mvapich2 intel
 +
</pre>
 +
 
 +
or for the ethernet version use
 +
 
 +
<pre>
 +
module load mvapich2/1.4rc1-3378_intel-v11.0-tcpip intel
 +
</pre>
 +
 
 +
The MPI libraries wrappers for compiling are  mpicc/mpicxx/mpif90/mpif77.
 +
 
 +
MVAPICH2 requires a <tt>.mpd.conf<\tt> file containing the variable "MPD_SECRETWORD=..." in
 +
your $HOME directory.  To create this file use
 +
 
 +
<pre>
 +
echo "MPD_SECRETWORD=ABC123" > ~/.mpd.conf
 +
chmod 600  ~/.mpd.conf
 +
<\pre>
 +
 
 +
The easiest way to run is to use <tt>mpirun_rsh<\tt> as follows
 +
 
 +
<pre>
 +
mpirun_rsh -np 16 -hostfile $PBS_NODEFILE ./a.out
 +
<\pre>
  
  
 
=== IntelMPI ===
 
=== IntelMPI ===

Revision as of 13:15, 24 September 2009

OpenMPI

To use OpenMPI compiled with intel load the modules

module load openmpi intel  

or for the gcc version use

module load openmpi/1.3.3-gcc-v4.4.0-ofed gcc 

The MPI libraries wrappers for compiling are mpicc/mpicxx/mpif90/mpif77.

OpenMPI has been build to support various communication methods and automatically uses the best method depending on how and where it is run. To explicitly specify the method you can use the following --mca flags on ethernet

mpirun --mca btl self,sm,tcp -np 16 -hostfile $PBS_NODEFILE ./a.out

and the following for infiniband

mpirun --mca btl self,sm,openib -np 16 -hostfile $PBS_NODEFILE ./a.out

For more information on available flags see the OpenMPI FAQ

MVAPICH2

MVAPICH2 is an MPICH2 derivative primarily designed for MPI communications over Infiniband. To use MVAPICH2 compiled with the intel compilers for infiniband load the modules

module load mvapich2 intel

or for the ethernet version use

module load mvapich2/1.4rc1-3378_intel-v11.0-tcpip intel

The MPI libraries wrappers for compiling are mpicc/mpicxx/mpif90/mpif77.

MVAPICH2 requires a .mpd.conf<\tt> file containing the variable "MPD_SECRETWORD=..." in your $HOME directory. To create this file use

echo "MPD_SECRETWORD=ABC123" > ~/.mpd.conf
chmod 600  ~/.mpd.conf
<\pre>

The easiest way to run is to use mpirun_rsh<\tt> as follows

mpirun_rsh -np 16 -hostfile $PBS_NODEFILE ./a.out
<\pre>


IntelMPI