Módosítások

Miskolc UV 2000

2 129 bájt törölve, 2015. november 2., 16:59
nincs szerkesztési összefoglaló
ahol az <code>EMAIL</code> az értesítendő emial cím.
==== IntelMPI feladatok = OMP Példa ====MPI feladatok esetén meg kell adnunk az egy node-on elinduló MPI processzek számát is (<code>#SBATCH --ntasks-per-node=</code>). A leggyakoribb esetben ez az egy node-ban található CPU core-ok száma. A párhuzamos programot az <code>mpirun</code> paranccsal kell indítani.
<pre>
#!/bin/bash
#SBATCH -A ACCOUNTbarfoo#SBATCH --job-name=mpiomp#SBATCH -N 2#SBATCH --ntasks-per-node=20n 48#SBATCH --time=1203:00:00#SBATCH -o slurm.out/opt/nce/bin/numainfompirun PROGRAMOMP_NUM_THREADS=$SLURM_NTASKS ./a.out
</pre>
OpenMPI FAQ: http://www.open-mpi.org/faq ==== OpenMP (OMP) feladatok SGI MPT MPI Példa ====OpenMP párhuzamos alkalmazásokhoz maximum 1 node-ot lehet lefoglalni. Az OMP szálák számát az <code>OMP_NUM_THREADS</code> környezeti változóval kell megadni. A változót vagy az alkamazás elé kell írni (ld. példa), vagy exportálni kell az indító parancs előtt:<code>export OMP_NUM_THREADS=10</code> A következő példában egy taskhoz 10 CPU core-t rendeltunk, a 10 CPU core-nak egy node-on kell lennie. A CPU core-ok számát a <code>SLURM_CPUS_PER_TASK</code> változó tartalmazza, és ez állítja be az OMP szálak számát is. Alice felhasználó a foobar számla terhére, maximum 6 órára indít el egy 10 szálas OMP alkalmazást.
<pre>
#!/bin/bash
#SBATCH -A foobarbarfoo
#SBATCH --job-name=omp
#SBATCH --time=06:00:00#SBATCH --ntasks=1#SBATCH --cpus-per-task=10OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK ./a.out</pre> ==== Hibrid MPI-OMP feladatok ====Hibrid MPI-OMP módról akkor beszélünk, ha a párhuzamos alkalmazás MPI-t és OMP-t is használ. Érdemes tudni, hogy az Intel MKL-el linkelt programok MKL hívásai OpenMP képesek. Általában a következő elosztás javasolt: az MPI processzek száma 1-től az egy node-ban található CPU foglalatok száma, az OMP szálak ennek megfelelően az egy node-ban található összes CPU core szám vagy annak fele, negyede (értelem szerűen). A jobszkipthez a fenti két mód paramétereit kombinálni kell. A következő példában 2 node-ot, és node-onként 1-1 taskot indítunk taskonként 10 szállal. Alice felhasználó a foobar számla terhére, 8 órára, 2 node-ra küldött be egy hibrid jobot. Egy node-on egyszerre csak 1 db MPI processz fut ami node-onként 10 OMP szálat használ. A 2 gépen összesen 2 MPI proceszz és 2 x 10 OMP szál fut.<pre>#!/bin/bash#SBATCH -A foobar#SBATCH --job-name=mpiompn 48#SBATCH --time=0803:00:00#SBATCH -N 2#SBATCH --ntasks=2#SBATCH --ntasks-per-node=1#SBATCH --cpus-per-task=10
#SBATCH -o slurm.out
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK/opt/nce/bin/numainfompirun $SLURM_NTASKS ./a.out
</pre>
214
szerkesztés

Navigációs menü