Módosítások

Budapest2 klaszter

1 867 bájt hozzáadva, 2017. március 15., 12:33
a
nincs szerkesztési összefoglaló
|-
| Típus
| HPSL250s
|-
| core / node
| 10 × 2 Xeon E5-2680v2 2.80GHz
|-
| GPU Intel Xeon Phi / node| 2 × Nvidia K20X 6Gb Intel(R) Xeon Phi(TM) MIC SE10/7120P
|-
| Compute node-ok
| 3000 MB
|}
 
 
 
=== CPU idő kérés ===
 
{{ATTENTION|A CPU idő igénylésekor egy olyan rövid indoklást várunk a HPC projekt vezetőktől, amiből kiderül, hogy a futtatandó alkalmazás képes GPU-t használni. Erre azért van szükség, mert az erőforrás teljesítményének nagyobbik része GPU gyorsításból származik, egy gyorsítás nélküli program a CPU-kat lefoglalja, korlátozva ezzel a GPU-k használatát, ami kihasználatlansághoz vezet. Az NVidia [http://www.nvidia.com/object/gpu-applications.html közzétett egy listát] arról, hogy melyik alkalmazás rendelkezik jelenleg hivatalosan NVidia GPU támogatással, de természetesen egyéb, GPU-t használó program is nagy valószínűséggel jól fut a gépen.}}
 
=== Belépés ===
== Alkalmazások lefordítása ==
Mindenkitől azt kérjük, hogy először próbálja meg saját maga lefordítani az alkalmazását. Ha ez valamilyen oknál fogva mégsem sikerülne, akkor következő lépésként a magyarországi szuperszámítógép felhasználóktól érdemes kérdezni, mert nagy esély van rá hogy mások is belefutottak ugyanabba a problémába. Ezen a címen lehet őket elérni: <code>hpc-forum kukac listserv.niif.hu</code>. Feliratkozni [https://listserv.niif.hu/mailman/listinfo/hpc-forum itt lehet erre] a levelező listáralevelezőlistára. Az archívumban is érdemes utánanézni a kérdésnek. Az NIIF HPC support csak igen korlátozottan képes egyéni fordítási kérésekkel foglalkozni, de problémával felkeresheti a <code>hpc-support kukac niif.hu</code> címet. Az utóbbi esetben pár napos türelmüket mindenképp kérjük válaszunkig. == Intel Xeon Phi használata == * [[Intel_Xeon_Phi |Részletes]] használati és alkalmazás optimalizációs leírás* [http://software.intel.com/en-us/mic-developer Itt] található az Intel hivatalos dokumentációja ezzel kapcsolatban* [https://software.intel.com/en-us/xeonphionlinecatalog Itt] található az Intel által hivatalosan támogatott alkalmazások listája* [http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor Itt] tájékozódhatnak az Intel matematikai könyvtárainak a linkeléséről
== SLURM ütemező használata ==
"minutes", "minutes:seconds", "hours:minutes:seconds", "days-hours", "days-hours:minutes" és "days-hours:minutes:seconds".
==== GPUIntel Xeon Phi-k lefoglalása ====A GPUIntel Xeon Phi-k lefoglalása a következő direktívával töréniktörténik:
<pre>
#SBATCH --gres=gpumic:N
</pre>
Az <code>N</code> a GPUaz Intel Xeon Phi-k/node számát adja meg, ami 1 és 2 lehet maximum.
==== Job-ok indítása ====
#SBATCH --partition=test
</pre>
A teszt partícióban 1 GPU található (<code>--gres=gpu:1</code>)
==== A szolgáltatás minősége (QOS) ====
</pre>
==== OpenMPI IntelMPI feladatok ====
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>
#SBATCH --ntasks-per-node=20
#SBATCH --time=12:00:00
 
mpirun PROGRAM
</pre>
OpenMPI FAQ: http://www.open-mpi.org/faq
 
==== OpenMP (OMP) feladatok ====
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 foobar
#SBATCH --job-name=omp
#SBATCH --time=06:00:00
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=10
OMP_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=mpiomp
#SBATCH --time=08: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
mpirun ./a.out
</pre>
 
 
[[Kategória: HPC]]

Navigációs menü