Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revisionLast revisionBoth sides next revision | ||
doku:ompmpi [2014/08/12 10:08] – ir | doku:ompmpi [2015/06/09 13:32] – [Fewer MPI processes than slots available] ir | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== MPI environments |
+ | ===== Fewer MPI processes than slots available | ||
- | ===== Modifying the machine file ===== | ||
- | Starting fewer MPI processes per node than slots available | + | Starting fewer MPI processes per node than slots available |
+ | - either by manually modifying the machine file | ||
+ | - or by automatic modification through a parallel environment. | ||
+ | This can be useful for memory intensive or hybrid OpenMP/MPI jobs. | ||
+ | Exemplarily, | ||
==== 1. Manually modifying the machine file ==== | ==== 1. Manually modifying the machine file ==== | ||
Line 53: | Line 57: | ||
</ | </ | ||
- | The reduced form would look like: | + | This job script yields the following machines file: |
< | < | ||
Line 66: | Line 70: | ||
</ | </ | ||
- | ==== 2. Automatic modification through parallel environment | + | ==== 2. Automatic modification through parallel environment ==== |
- | Jobs using more than 2 GB per process can be executed in one of the parallel environments | + | Jobs using more than 2 GB (VSC 2) or 3 GB (VSC 1) per process can be executed in one of the parallel environments |
- | * mpich : 2 GB per process | + | - VSC 1: |
+ | * mpich/ | ||
+ | * mpich4: 6 GB per process | ||
+ | * mpich2: 12 GB per process | ||
+ | * mpich1: 24 GB per process | ||
+ | - VSC 2: | ||
+ | * mpich : 2 GB per process | ||
* mpich8: 4 GB per process | * mpich8: 4 GB per process | ||
* mpich4: 8 GB per process | * mpich4: 8 GB per process | ||
Line 85: | Line 95: | ||
The machine file and the variable NSLOTS_REDUCED are automatically modified such that they reflect the number of slots requested (4), whereas the variable NSLOTS is set to the number of physical cores allocated in the queueing system. This latter number NSLOTS corresponds to the cost calculation in the previous paragraph: | The machine file and the variable NSLOTS_REDUCED are automatically modified such that they reflect the number of slots requested (4), whereas the variable NSLOTS is set to the number of physical cores allocated in the queueing system. This latter number NSLOTS corresponds to the cost calculation in the previous paragraph: | ||
- | === Hybrid MPI/OpenMP jobs === | + | ===== Hybrid MPI/OpenMP jobs ===== |
< | < | ||
export OMP_NUM_THREADS=8 | export OMP_NUM_THREADS=8 | ||
mpirun -machinefile $TMPDIR/ | mpirun -machinefile $TMPDIR/ | ||
In this example, two nodes are reserved in the grid engine. On both nodes 2 processes each spanning 8 threads are started. | In this example, two nodes are reserved in the grid engine. On both nodes 2 processes each spanning 8 threads are started. |