Size: 1332
Comment:
|
Size: 1641
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#acl ClamsUserGroup:read,write,delete,revert All:read |
|
Line 2: | Line 5: |
= HowToParallel = | == ParallelHowTo == |
Line 4: | Line 7: |
=== Portland Compiler === | <<TableOfContents>> |
Line 6: | Line 9: |
It is possible to run CLaMS on multi-processor machines using MPI or OpenMP. | It is possible to run CLaMS on multi-processor machines using MPI. |
Line 8: | Line 11: |
On the Ubuntu machines the PGF compiler suite is installed that has MPICH implemented. | === Intel Compiler 17.0.1 === |
Line 10: | Line 13: |
In the following a short How to: First it is necessary to make the path of the MPI libraries public by executing: for 64bit machines: {{{ . /opt/pgi/linux86-64/10.4/mpi.sh |
The MPICH Library 3.2 is installed in directory ''/usr/nfs/local/local/mpich-3.2-ifort-17.0.1''. <<BR>> Add the bin subdirectory of the installation directory of MPICH library to your path: {{{ PATH=/usr/nfs/local/local/mpich-3.2-ifort-17.0.1/bin:$PATH export PATH |
Line 20: | Line 21: |
for 32bit machines: {{{ . /opt/pgi/linux86/10.4/mpi.sh |
Remove serial compiled object files: {{{ make distclean |
Line 26: | Line 26: |
Then compile the needed programs by executing: {{{ make useMPI=true |
Compile with MPI: {{{ make useMPI=true progname |
Line 32: | Line 31: |
Before running the CLaMS script or a single program you have to execute: {{{ ssh-add }}} This is necessary, because the processes communicate per ssh. The programs must be called as following: {{{ mpirun -np # program # - number of processors |
Execute on <n> CPUs: {{{ mpiexec|mpirun -np <n> <progname> |
Line 50: | Line 37: |
=== Intel Compiler === | === Intel Compiler 14.0.3 === |
Line 52: | Line 39: |
The MPICH2 Library (1.3.2p1) is installed in directory ''/usr/local/icg/icg1/local/mpich2-intel'' (for Intel C and Fortran compilers). Add the bin subdirectory of the installation directory to your path: {{{ PATH=/usr/local/icg/icg1/local/mpich2-intel/bin:$PATH |
The MPICH Library is installed in directory ''/usr/nfs/local/local/mpich-intel''. Add the bin subdirectory of the installation directory of MPICH library to your path: {{{ PATH=/usr/nfs/local/local/mpich-intel/bin:$PATH |
Line 60: | Line 46: |
The programs can be compiled with: {{{ make useComp=ifc useMPI=true <progname> |
Remove serial compiled object files: {{{ make distclean |
Line 65: | Line 51: |
Execute on <n> CPUs: {{{ mpirun -np <n> <progname> |
Compile with MPI: {{{ make useMPI=true [useComp=ifc] progname |
Line 69: | Line 55: |
Execute on <n> CPUs: {{{ mpiexec|mpirun -np <n> <progname> }}} === Portland Compiler 14.6 === It is necessary to make the path of the MPI libraries (included in the portland compiler suite) public by executing: {{{ . /opt/pgi/linux86-64/14.6/mpi.sh }}} Remove serial compiled object files: {{{ make distclean }}} Compile with MPI: {{{ make useMPI=true [useComp=pgi] progname }}} Execute on <n> CPUs: {{{ mpiexec|mpirun -np <n> <progname> }}} |
ParallelHowTo
It is possible to run CLaMS on multi-processor machines using MPI.
Intel Compiler 17.0.1
The MPICH Library 3.2 is installed in directory /usr/nfs/local/local/mpich-3.2-ifort-17.0.1.
- Add the bin subdirectory of the installation directory of MPICH library to your path:
PATH=/usr/nfs/local/local/mpich-3.2-ifort-17.0.1/bin:$PATH export PATH
Remove serial compiled object files:make distclean
Compile with MPI:make useMPI=true progname
Execute on <n> CPUs:
mpiexec|mpirun -np <n> <progname>
Intel Compiler 14.0.3
The MPICH Library is installed in directory /usr/nfs/local/local/mpich-intel. Add the bin subdirectory of the installation directory of MPICH library to your path:
PATH=/usr/nfs/local/local/mpich-intel/bin:$PATH export PATH
Remove serial compiled object files:make distclean
Compile with MPI:make useMPI=true [useComp=ifc] progname
Execute on <n> CPUs:
mpiexec|mpirun -np <n> <progname>
Portland Compiler 14.6
- It is necessary to make the path of the MPI libraries (included in the portland compiler suite) public by executing:
. /opt/pgi/linux86-64/14.6/mpi.sh
Remove serial compiled object files:make distclean
Compile with MPI:make useMPI=true [useComp=pgi] progname
Execute on <n> CPUs:
mpiexec|mpirun -np <n> <progname>