Sveuilite u Rijeci BURA HPC Sveuilita u Rijeci
Sveučilište u Rijeci / BURA HPC Sveučilišta u Rijeci * Centar Ante Sikirica * za napredno računanje i modeliranje
2 Sadržaj radionice • OMP • MPI • Parallel Computing - python Sveučilište u Rijeci / • CUDA https: //cnrm. uniri. hr/ https: //bura. uniri. hr/
3 Simple Linux Utility for Resource Management (SLURM) • Open-source software za distribuciju i upravljanje procesima na HPC sustavima • Omogućava alokaciju HPC resursa korisnicima Sveučilište u Rijeci / • Procesi se pokreću pomoću: o SLURM naredba o SLURM skripta
4 Simple Linux Utility for Resource Management (SLURM) • “#SBATCH” prefix definira SLURM naredbe u skripti Sveučilište u Rijeci / • “-J ime_joba” ili “--job-name=ime_joba” su sintaktički ekvivalenti koji definiraju naziv procesa/zadatka o Omogućava lakšu identifikaciju procesa na popisu trenutno aktivnih procesa #SBATCH -J ime_joba #SBATCH -n 24 #SBATCH -p computes_thin #SBATCH -t 512: 00 #SBATCH --mem-percpu=2048 MB #SBATCH -o log_%j. out #SBATCH --job-name=ime_joba #SBATCH --ntasks=24 #SBATCH -partition=computes_thin #SBATCH --time=512: 00 #SBATCH --mem-percpu=2048 MB #SBATCH --output=log_%j. out
5 Simple Linux Utility for Resource Management (SLURM) • “-o log_%j. out” ili “--output=log_%j. out” uvjetuju redirekciju i zapis output/error procesa u zadanu #SBATCH -J ime_joba #SBATCH -n 24 #SBATCH -p computes_thin #SBATCH -t 512: 00 #SBATCH --mem-percpu=2048 MB #SBATCH -o log_%j. out datoteku o Sadrži tekstualni zapis koji opisuje greške i druge Sveučilište u Rijeci / procesne specifičnosti #SBATCH --job-name=ime_joba #SBATCH --ntasks=24 #SBATCH -partition=computes_thin #SBATCH --time=512: 00 #SBATCH --mem-percpu=2048 MB #SBATCH --output=log_%j. out
6 Simple Linux Utility for Resource Management (SLURM) • “-n 24” ili “--ntasks=24” definiraju potrebne resurse o Tehnički definira broj niti o Omogućava simultano korištenje istih resursa (npr. ukoliko koristimo ½ noda, drugim korisnicima su Sveučilište u Rijeci / preostali resursi dostupni). Nužno zadavanje memorijskih resursa!! • “--mem”, “--mem-per-cpu”, “--mem-per-gpu” o Definiraju memorijske zahtjeve #SBATCH -J ime_joba #SBATCH -n 24 #SBATCH -p computes_thin #SBATCH -t 512: 00 #SBATCH --mem-percpu=2048 MB #SBATCH -o log_%j. out #SBATCH --job-name=ime_joba #SBATCH --ntasks=24 #SBATCH -partition=computes_thin #SBATCH --time=512: 00 #SBATCH --mem-percpu=2048 MB #SBATCH --output=log_%j. out
7 Simple Linux Utility for Resource Management (SLURM) • “-N 2” ili “--nodes=2” rezerviraju dva čvora • “--ntasks-per-node=12” specificira broj taskova po svakom čvoru, efektivno definirajući broj niti Sveučilište u Rijeci / o Ukupan broj procesora (niti) => 2 x 12 = 24 o Potencijalno bolji pristup za programe/kodove koji traže specifičnu alokaciju fizičkih jezgara #SBATCH -N 2 #SBATCH --ntasks-per-node=12 #SBATCH --nodes=2 #SBATCH --ntasks-per-node=12
8 Simple Linux Utility for Resource Management (SLURM) • “-p computes_thin” ili “-partition=computes_thin” definiraju particiju iz #SBATCH -J ime_joba #SBATCH -n 24 #SBATCH -p computes_thin #SBATCH -t 512: 00 #SBATCH --mem-percpu=2048 MB #SBATCH -o log_%j. out koje će se resursi uzeti o Dostupne particije: Sveučilište u Rijeci / computes_thin comp_smp comp_gpu • Naredbom “sinfo” (u konzoli) može se dobiti ispis svih mogućih destinacija na HPC-u BURA (particija) #SBATCH --job-name=ime_joba #SBATCH --ntasks=24 #SBATCH -partition=computes_thin #SBATCH --time=512: 00 #SBATCH --mem-percpu=2048 MB #SBATCH --output=log_%j. out
9 Simple Linux Utility for Resource Management (SLURM) • “-t 512: 00” i “--time=512: 00” definiraju koliko će vremena proces(i) koristiti resurse #SBATCH -J ime_joba #SBATCH -n 24 #SBATCH -p computes_thin #SBATCH -t 512: 00 #SBATCH --mem-percpu=2048 MB #SBATCH -o log_%j. out o Po isteku vremena resursi se prisilno oslobađaju Sveučilište u Rijeci / o Format: dan-sat: minuta: sekunda i kombinacije #SBATCH --job-name=ime_joba #SBATCH --ntasks=24 #SBATCH -partition=computes_thin #SBATCH --time=512: 00 #SBATCH --mem-percpu=2048 MB #SBATCH --output=log_%j. out
10 Simple Linux Utility for Resource Management (SLURM) • Naredbe su obični BASH dio SLURM skripte • Primjer: o Potrebno se pozicionirati u direktorij gdje se nalazi program ili skripta za pokretanje (npr. “dir 1”) Sveučilište u Rijeci / o Nakon navigacije u direktorij definira se pokretanje/poziv željenog procesa/skripte #SBATCH -J test_job #SBATCH -n 2 #SBATCH -p com_smp #SBATCH --mem-percpu=2048 MB #SBATCH -t 120: 00 #SBATCH -o log_%j. out cd /dir 1/. /skripta_za_proracun. sh
11 Pokretanje SLURM skripte • SLURM skripte su u osnovi BASH skripte • Skriptu je moguće vrtiti na običnom računlu, a Sveučilište u Rijeci / “#SBATCH” naredbe će biti tretirane kao komentari • Za pokretanje potrebno je biti u direktoriju skripte • Pokretanje se vrši s naredbom “sbatch ime_skripte. sh”
12 Rad sa SLURM-om • Kada se task pošalje u red izvođenja, status je moguće vidjeti na listi svih procesa naredbom Sveučilište u Rijeci / “squeue” • Procese je moguće pretražiti prema imenu koristeći “squeue -n ime_procesa” • Procese je moguće pretražiti prema ID-u koristeći “squeue -j job_ID” • Svi procesi jednog korisnika mogu se izlistati
13 Rad sa SLURM-om • “scancel” naredbom moguće je procese prekinuti prije završetka izvršavanja • Ukoliko se želi prekinuti proces s ID-om 155363, Sveučilište u Rijeci / pišemo “scancel 155363” • Zauzetost pojedinog čvora može se provjeriti naredbom “snode ime_čvora”
14 Komunikacija s burom i upload • Desktop o VPN (Forti. Client, open. Forti. GUI) Sveučilište u Rijeci / o SSH klijenti (npr. Pu. TTY) • Browserom o https: //bura. uniri. hr o moguć FTP
15 Sadržaj radionice • OMP • MPI • Parallel Computing - python Sveučilište u Rijeci / • CUDA https: //cnrm. uniri. hr/ https: //bura. uniri. hr/
16 Sveučilište u Rijeci / Pitanja ? ? Lado Kranjčević lado. kranjcevic@riteh. hr Gordan Janeš gordan. janes@uniri. hr Ante Sikirica asikirica@riteh. hr Luka Grbčić lgrbcic@riteh. hr
- Slides: 16