Na Isabelli su dostupna tri poslužitelja Dell EMC PowerEdge C4140 s po:
- 4 grafička procesora NVIDIA Tesla V100-SXM2-16GB
2 procesora Intel Xeon Silver 4114 s ukupno 20 procesorskih jezgri
- 384 GB radne memorije
Lokalnog spremišta od 3.2 TB NVMe SSD diska
Instalirani su NVIDIA alati i biblioteke:
- CUDA (verzije 9.0 i 10.0)
- cuDNN 7.3.1
- NCCL 2.3.5.
Pripremljeni su moduli za dostupne verzije CUDA Toolkita koji postavljaju sve CUDA varijable okoline:
Verzija | Modul |
---|---|
9.0 | cuda/9-0 |
10.0 | cuda/10-0 |
Pokretanje poslova
U nastavku je opisano podnošenje tipičnih aplikacija koji koriste grafičke procesore. Više informacija o pokretanju poslova možete pronaći na stranici Pokretanje i upravljanje poslovima, a o korištenju pojedinih aplikacija na Korisničke aplikacije i knjižnice.
U svakom opisu posla obavezno treba koristiti cuda-wrapper.sh, kao u primjerima u nastavku.
Korištenje jednog grafičkog procesora
Za pokretanje poslova koji zahtijevaju jedan grafički procesor potrebno je u opisu posla postaviti:
#$ -pe gpu 1 cuda-wrapper.sh aplikacija
Korištenje više grafičkih procesora na jednom čvoru
Za pokretanje poslova koji zahtijevaju više grafičkih procesora na jednom čvoru potrebno je koristiti paralelnu okolinu gpusingle te željeni broj grafičkih procesora (maksimalno 4):
#$ -pe gpusingle 4 cuda-wrapper.sh aplikacija
Korištenje više grafičkih procesora na više čvorova
Korištenje više grafičkih procesora na više čvorova moguće je pomoću knjižnica MPI moduli prevedenih s podrškom za CUDA-u:
Verzija | Prevodilac | Verzija CUDA-e | Modul |
---|---|---|---|
MVAPICH2.2 | Intel 2017 | 9.0 | mpi/mvapich2-intel2017-cuda90-2.2-x86_64 |
MVAPICH2.2 | Intel 2018 | 10.0 | mpi/mvapich2-intel2018-cuda-2.2-x86_64 |
OpenMPI 1.10.7 | Intel 2019 | 10.0 | mpi/openmpi-intel-cuda-x86_64 |
OpenMPI 3.0.0 | Intel 2019 | 10.0 | mpi/openmpi3-intel-cuda-x86_64 |
U opisu je moguće koristiti sve tri paralelne okoline:
#$ -cwd #$ -pe gpu 8 module load <mpi modul> mpirun -np $NSLOTS cuda-wrapper.sh aplikacija
U slučaju korištenja OpenMPI modula:
#$ -cwd #$ -pe gpu 8 module load <mpi modul> mpirun -np $NSLOTS -bind-to none cuda-wrapper.sh aplikacija
Korištenje cijelih čvorova s grafičkim procesorima
Za pokretanje poslova koji zahtijevaju cijele čvorove potrebno je koristiti paralelnu okolinu gpufull te željeni broj grafičkih procesora (mora biti djelitelj broja 4). Primjer skripte za zauzimanje dva čvora:
#$ -pe gpufull 8 module load <mpi modul> mpirun -np $NSLOTS cuda-wrapper.sh aplikacija
Korištenje više procesorskih jezgri
Raspoređivač poslova pretpostavljeno svakom poslu na grafičkim procesorima pridjeljuje jednu CPU jezgru. Ukoliko je potrebno, moguće je tražiti veći broj jezgara:
#$ -l cores <broj_jezgri>
BITNO:
- navedeni broj se odnosi na broj procesorskih jezgri po zahtijevanom grafičkom procesoru. Ukoliko korisnički posao zahtijeva 6 grafičkih procesora i 24 procesorske jezgre potrebno je navesti:
#$ -pe gpu 6 #$ -l cores=4 cuda-wrapper.sh aplikacija
- čvorovi raspolažu s 20 procesorskih jezgri pa je to potrebno uzeti u obzir prilikom navodjenja parametra
- prilikom korištenja cijelih čvorova nije potrebno navoditi ovaj parametar