IT wiki

VU MIF STSC

User Tools

Site Tools


hpc

Skirtumai

Čia matote skirtumus tarp pasirinktos versijos ir esamo dokumento.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
hpc [2021/12/16 12:47] – [Paketinis užduočių vykdymas (SLURM)] mif28585hpc [2022/04/15 09:16] – [Registracija] grikiete
Linija 2: Linija 2:
  
 Paskirstytų skaičiavimų tinklas (PST) yra specialiai paruoštas kompiuterių tinklas, kuriame yra galimybė vykdyti programas, kurios galėtų efektyviai apsikeisti duomenimis. Paskirstytų skaičiavimų tinklas (PST) yra specialiai paruoštas kompiuterių tinklas, kuriame yra galimybė vykdyti programas, kurios galėtų efektyviai apsikeisti duomenimis.
- 
-**Vyksta TESTAVIMAS iki 2021m gruodžio 31d, galite naudotis, bet nėra garantuojamas duomenų išsaugojimas.** 
  
 VU MIF PST sudaro superkompiuteris iš telkinių (pirmas skaičius - faktiškai pasiekiamas kiekis): VU MIF PST sudaro superkompiuteris iš telkinių (pirmas skaičius - faktiškai pasiekiamas kiekis):
Linija 33: Linija 31:
 Analogiškai galima pasinaudoti R, Julia ar kitais konteineriais, kuriuose paketams instaliuoti nereikia naudotojo root teisių. Analogiškai galima pasinaudoti R, Julia ar kitais konteineriais, kuriuose paketams instaliuoti nereikia naudotojo root teisių.
  
-Jeigu norima papildyti singularity kontainerį OS paketais, tam reikia root/superuser teisių. Su fakeroot jas simuliuojame, o jam reikalingas bibliotekas kataloge ''/usr/lib/x86_64-linux-gnu/libfakeroot'' prikabiname į konteinerį, pvz:+Jeigu reikia papildyti singularity kontainerį OS paketais, tam reikia root/superuser teisių. Su fakeroot jas simuliuojame, o jam reikalingą biblioteką ''libfakeroot-sysv.so'' kopijuojame į konteinerį, pvz:
 <code shell> <code shell>
 $ singularity build --sandbox /tmp/python docker://ubuntu:18.04 $ singularity build --sandbox /tmp/python docker://ubuntu:18.04
-mkdir /tmp/python/usr/lib/x86_64-linux-gnu/libfakeroot +cp /libfakeroot-sysv.so /tmp/python/ 
-$ fakeroot singularity exec -/usr/lib/x86_64-linux-gnu/libfakeroot -w /tmp/python apt-get update +$ fakeroot -/libfakeroot-sysv.so singularity exec -w /tmp/python apt-get update 
-$ fakeroot singularity exec -/usr/lib/x86_64-linux-gnu/libfakeroot -w /tmp/python apt-get install python3.8 ... +$ fakeroot -/libfakeroot-sysv.so singularity exec -w /tmp/python apt-get install python3.8 ... 
-$ fakeroot singularity exec -/usr/lib/x86_64-linux-gnu/libfakeroot -w /tmp/python apt-get clean +$ fakeroot -/libfakeroot-sysv.so singularity exec -w /tmp/python apt-get clean 
-$ rm -rf /tmp/python/var/lib/apt/lists (galima ir daugiau išvalyti, ko nereikia)+$ rm -rf /tmp/python/libfakeroot-sysv.so /tmp/python/var/lib/apt/lists (galima ir daugiau išvalyti, ko nereikia)
 $ singularity build python.sif /tmp/python $ singularity build python.sif /tmp/python
 $ rm -rf /tmp/python $ rm -rf /tmp/python
Linija 47: Linija 45:
 Kataloge ''/apps/local/bigdata'' yra paruošti scenarijai pasileisti savo **hadoop** užduotis pasinaudojant [[https://github.com/LLNL/magpie|Magpie]] rinkiniu. Kataloge ''/apps/local/bigdata'' yra paruošti scenarijai pasileisti savo **hadoop** užduotis pasinaudojant [[https://github.com/LLNL/magpie|Magpie]] rinkiniu.
  
-Su [[https://hpc.mif.vu.lt/hub|JupyterHub]] galite interneto naršyklės pagalba vykdyti skaičiavimus su python komandų eilute ir pasinaudoti [[https://jupyter.org|JupyterLab]] aplinka. Jeigu savo namų kataloge instaliuosite savo JupyterLab aplinką, tai reikia instaliuoti papildomai ''batchspawner'' paketą - tada jums startuos jūsų aplinką, pvz:+Su [[https://hpc.mif.vu.lt/hub/|JupyterHub]] galite interneto naršyklės pagalba vykdyti skaičiavimus su python komandų eilute ir pasinaudoti [[https://jupyter.org|JupyterLab]] aplinka. Jeigu savo namų kataloge instaliuosite savo JupyterLab aplinką, tai reikia instaliuoti papildomai ''batchspawner'' paketą - tada jums startuos jūsų aplinką, pvz:
  
 <code shell> <code shell>
Linija 61: Linija 59:
 ====== Registracija ====== ====== Registracija ======
  
-PST gali naudotis tik registruoti VU MIF kompiuterių tinklo naudotojai. Esami **VU MIF tinklo naudotojai** PST gali naudotis **be papildomos registracijos**.+  * **VU MIF tinklo naudotojai** PST gali naudotis be papildomos registracijos, jei užtenka duotų resursų limito. Jei suteikto mėnesinio išteklių limito **100 CPU-h ir 6 GPU-h** nepakanka, reikia užpildyti [[https://forms.office.com/Pages/ResponsePage.aspx?id=ghrFgo1UykO8-b9LfrHQEidLsh79nRJAvOP_wV9sgmdURTNUUVhJTzFGOVFWR0Y1STZBMUFNRE4yRy4u|ITAPC paslaugų užsakymo formą]]. Su suteiktu (pasirinktu) naudotojo vardu ir savo įvestu slaptažodžiu įgyjama teisė jungtis prie serverio **uosis.mif.vu.lt**, VU MIF mokymo klasių ir dalies VU MIF darbo vietų kompiuterių.
  
-Registracijai reikia užpildyti [[http://mif.vu.lt/itapc#paslaug%C5%B3-u%C5%BEsakymas|ITAPC paslaugų užsakymo formą]] ir pateikti ten nurodytu adresuParaišką patenkinussuteikiamas VU MIF kompiuterių tinklo naudotojo vardas. Jei esate VU darbuotojas ar studentas ir registracijos metu nurodėte savo VU el. pašto adresą. Tada įvesti savo pradinį slaptažodį, galite per [[https://mif.vu.lt/passwd2|pamiršto slaptažodžio]] pakeitimo procedūrą, naudodami [[https://id.vu.lt|VU E.tapatybės]] duomenis. Kitu atveju teks atvykti į VU MIF Didlaukio g. 47, 302/304 kab. darbo metu, dėl tikslaus laiko galite pasitikslinti tel. 8 5219 5005 arba 8 5219 5006.+  * **VU kompiuterių tinklo naudotojai** - paslaugoms gauti turite užpildyti [[https://forms.office.com/Pages/ResponsePage.aspx?id=ghrFgo1UykO8-b9LfrHQEidLsh79nRJAvOP_wV9sgmdURTNUUVhJTzFGOVFWR0Y1STZBMUFNRE4yRy4u|ITAPC paslaugų užsakymo formą]]. Patvirtinus paraišką, jei registracijos metu nurodėte galiojantį savo VU el. pašto adresą, turite susikurti savo pradinį PST slaptažodį, naudodami [[https://mif.vu.lt/passwd2|slaptažodžio keitimo procedūrą]]. Atliekant šią procedūrą naudokite [[https://id.vu.lt|VU E.tapatybės]] duomenis. 
  
-Su suteiktu (pasirinktu) naudotojo vardu ir savo įvestu slaptažodžiu įgyjama teisė jungtis prie serverio **uosis.mif.vu.lt**, VU MIF mokymo klasių ir dalies VU MIF darbo vietų kompiuterių.+  * **Kiti naudotojai (ne VU bendruomenės nariai)** - paslaugoms gauti turite užpildyti [[https://forms.office.com/Pages/ResponsePage.aspx?id=ghrFgo1UykO8-b9LfrHQEidLsh79nRJAvOP_wV9sgmdUMDE1QUo3Slo3UVYwTjM4TDMyTEdZT0tSNi4u|ITAPC paslaugų užsakymo formą]]. Patvirtinus paraiškąturite atvykti adresu VU MIF Didlaukio g. 47, 302/304 kab. darbo metu, prisijungimo duomenims gauti. Dėl tikslaus laiko būtina susitarti tel. 8 5219 5005 arba 8 5219 5006.
  
-Adresu [[https://hpc.mif.vu.lt|Waldur]] yra savitarnos portalas, kur su savo universiteto (eduGAIN arba LITNET tinkle) prisijungimu galima pačiam susikurti VU MIF HPC prisijungimą ir prašyti gauti prieigą prie šių resursų.+ 
 + 
 +Adresu [[https://hpc.mif.vu.lt|Waldur]] yra savitarnos portalas, kur su savo universiteto (per **eduGAIN** arba **LITNET**) prisijungimu galima pačiam susikurti **HPC** prisijungimą. Daugiau info apie tai [[waldur|čia]].
  
 ====== Prisijungimas ====== ====== Prisijungimas ======
Linija 116: Linija 116:
  
 <code shell mpi-test-job.sh> <code shell mpi-test-job.sh>
-#!/bin/sh+#!/bin/bash
 #SBATCH -p main #SBATCH -p main
 #SBATCH -n4 #SBATCH -n4
Linija 123: Linija 123:
 mpirun mpi-test mpirun mpi-test
 </code> </code>
 +
 +Pateikus paraišką ITAPC ir gavus teigimą sprendimą, reikia susikurti naudotoją https://hpc.mif.vu.lt/. Sukurtas naudotojas bus įtrauktas į atitinkamą projektą, kuris turės tam tikrą kiekį resursų. Norint naudoti projekto resursus atliekant skaičiavimus reikia nurodyti savo alokacijos numerį. Žemiau pateiktas pavyzdys su nustatytu alokacijos parametru "alloc_xxxx_projektas" (taikomas ne VU MIF naudotojams, VU MIF naudotojai -- account parametro nurodyti neturi).
 +
 +<code shell mpi-test-job.sh>
 +#!/bin/bash
 +#SBATCH --account=alloc_xxxx_projektas
 +#SBATCH -p main
 +#SBATCH -n4
 +#SBATCH --time=minutes
 +module load openmpi
 +mpicc -o mpi-test mpi-test.c
 +mpirun mpi-test
 +</code>
 +
  
 Jame kaip specialūs komentarai yra nurodymai užduočių vykdytojui. Jame kaip specialūs komentarai yra nurodymai užduočių vykdytojui.
Linija 128: Linija 142:
  -p short - į kokią eilę siųsti (main, gpu, power).  -p short - į kokią eilę siųsti (main, gpu, power).
  
- -n4 - kiek procesorių rezervuoti (PASTABA: nustačius naudotinų branduolių skaičių x, tačiau realiai programiškai išnaudojant mažiau, apskaitoje vis tiek bus skaičiuojami visi x "užprašyti" branduoliai, todėl rekomenduojame apsiskaičiuoti iš anksto).+ -n4 - kiek procesorių rezervuoti (**PASTABA:** nustačius naudotinų branduolių skaičių x, tačiau realiai programiškai išnaudojant mažiau, apskaitoje vis tiek bus skaičiuojami visi x "užprašyti" branduoliai, todėl rekomenduojame apsiskaičiuoti iš anksto).
  
 Užduoties pradinis einamasis katalogas yra dabartinis katalogas (**pwd**) prisijungimo mazge iš kur paleidžiama užduotis, nebent parametru -D pakeistas į kitą. Pradiniam einamajam katalogui naudokite PST bendros failų sistemos katalogus **/scratch/lustre**, nes jis turi egzistuoti skaičiavimo mazge ir ten yra kuriamas užduoties išvesties failas **slurm-JOBID.out**, nebent nukreiptas kitur parametrais -o arba -i (jiems irgi patariama naudoti bendrą failų sistemą). Užduoties pradinis einamasis katalogas yra dabartinis katalogas (**pwd**) prisijungimo mazge iš kur paleidžiama užduotis, nebent parametru -D pakeistas į kitą. Pradiniam einamajam katalogui naudokite PST bendros failų sistemos katalogus **/scratch/lustre**, nes jis turi egzistuoti skaičiavimo mazge ir ten yra kuriamas užduoties išvesties failas **slurm-JOBID.out**, nebent nukreiptas kitur parametrais -o arba -i (jiems irgi patariama naudoti bendrą failų sistemą).
Linija 231: Linija 245:
   * Jeigu naudosite parametrą ''--mem=X'', tai užduotis gali rezervuoti daugiau **CPUs** proporcingai norimos atminties kiekiui. Pvz: užsakius ''--mem=14000'' eilėje **main**, bus užsakyti ne mažiau 2 CPUs, jei kiti parametrai nenurodo daugiau. Jeigu jūsų užduotis naudos mažiau, tai bus neefektyvus resursų naudojimas, be to tai gali veikti lėčiau, nes gali būti naudojama kita, nei vykdančio, procesoriaus atmintis.   * Jeigu naudosite parametrą ''--mem=X'', tai užduotis gali rezervuoti daugiau **CPUs** proporcingai norimos atminties kiekiui. Pvz: užsakius ''--mem=14000'' eilėje **main**, bus užsakyti ne mažiau 2 CPUs, jei kiti parametrai nenurodo daugiau. Jeigu jūsų užduotis naudos mažiau, tai bus neefektyvus resursų naudojimas, be to tai gali veikti lėčiau, nes gali būti naudojama kita, nei vykdančio, procesoriaus atmintis.
  
-====== Nuorodos ir mokymo medžiaga ======+====== Resursų limitai ======
  
 +Jeigu jūsų užduotys nestartuoja su priežastimi **AssocGrpCPUMinutesLimit** arba **AssocGrpGRESMinutes**,
 + tai pasitikrinkite ar užduotims dar liko neišnaudotų CPU/GPU resursų iš (mėnesio) limito.
  
-**1 mokymų dalis**+Peržiūrėti kiek išnaudota resursų
  
- Trumpai apie HPCkas tai yrakam jo reikia+<code> 
 +sreport -T cpu,mem,gres/gpu cluster AccountUtilizationByUser Start=0101 End=0131 User=USERNAME 
 +</code>
  
- - Kokie HPC būnakoks yra VU ir kokia MIF dalis+kur **USERNAME** jūsų MIF naudotojo vardaso **Start** ir **End** nurodo einamojo mėnesio pradžios ir pabaigos datas. Jas galima nurodyti ir kaip ''$(date +%m01)'' ir ''$(date +%m31)'', kas nurodo einamojo mėnesio pirmą ir paskutines dienas.
  
- - Kaip prisijungti MIF darbuotojams / studentams prie HPC+Atkreipkite dėmesį, kad naudojimas pateikiamas minutėmis, o į valandas konvertuoti reikia dalinant iš 60.
  
- - SSH rakto kūrimas ir naudojimas Windows aplinkoje +Kitas būdas pažiūrėti limitus ir jų išnaudojimą
- +
- - WinScp naudojimas Windows aplinkoje+
  
 +<code>
 +sshare -l -A USERNAME_mif -p -o GrpTRESRaw,GrpTRESMins,TRESRunMins
 +</code>
  
- [[https://drive.mif.vu.lt/s/xcK4cS8k3rZoKG9|Įvadas į HPC (skaidrės)]]+kur **USERNAME** MIF naudotojo vardasArba parametre **-A** nurodyti tą sąskaitą (account), kurio naudojimą norima pažiūrėti. Duomenys pateikiami minutėmis. **GrpTRESRaw** - kiek išnaudota. **GrpTRESMins** - koks yra limitas. **TRESRunMins** - likę resursai dar vis vykdomų užduočių.
  
- * [[https://drive.mif.vu.lt/s/ipy3FLNGnEqm8TE|Įvadas į HPC (video) ]]+====== Mokymų medžiaga ======
  
-**2 mokymų dalis**+Toliau pateikiama informacija apie mokymus, kurie vyko 2021m gruodžio mėn.
  
- - Slurm komandos darbams paleisti/stabdyti ar progresui peržiūrėti.+===== 1 mokymų dalis =====
  
- - Sbatch failas ir jo tipiniai parametrai CPU ir GPU particijoms+  * Trumpai apie HPC, kas tai yra, kam jo reikia 
 +  * Kokie HPC būna, koks yra VU ir kokia MIF dalis 
 +  * Kaip prisijungti MIF darbuotojams / studentams prie HPC 
 +  * SSH rakto kūrimas ir naudojimas Windows aplinkoje 
 +  * WinScp naudojimas Windows aplinkoje
  
- - Darbai interaktyviu režimu ir darbai liekantys veikti po atsijungimo (Sbatch)+  * [[https://drive.mif.vu.lt/s/xcK4cS8k3rZoKG9|Įvadas į HPC (skaidrės)]] 
 +  * [[https://drive.mif.vu.lt/s/ipy3FLNGnEqm8TE|Įvadas į HPC (video]]
  
- - Python/R/julia ar kitų kalbų paketų diegimas+===== 2 mokymų dalis =====
  
- Singularity konteineriai: atsisiuntimas ir/arba esamų modifikavimas+  * Slurm komandos darbams paleisti/stabdyti ar progresui peržiūrėti. 
 +  * Sbatch failas ir jo tipiniai parametrai CPU ir GPU particijoms 
 +  * Darbai interaktyviu režimu ir darbai liekantys veikti po atsijungimo (Sbatch) 
 +  * Python/R/julia ar kitų kalbų paketų diegimas 
 +  Singularity konteineriai: atsisiuntimas ir/arba esamų modifikavimas 
 +  * Darbas su MPI 
 +  * Rezultatų išvedimas ir parsisiuntimas į naudotojo kompiuterį 
 +  * Papildomų resursų užsakymai (Waldur)
  
- - Darbas su MPI+  * [[https://drive.mif.vu.lt/s/tHGtLZHbyQHpXK8|Užduočių valdymas, naudotojų PĮ ir CPU skaičiavimai HPC infrastruktūroje (skaidrės)]] 
 +  * [[https://drive.mif.vu.lt/s/mDTbB3stWe9AKyS|Užduočių valdymas, naudotojų PĮ ir CPU skaičiavimai HPC infrastruktūroje (video)]]
  
- - Rezultatų išvedimas ir parsisiuntimas į naudotojo kompiuterį+===== 3 mokymų dalis =====
  
- Papildomų resursų užsakymai (Waldur)+  * GPU skaičiavimai 
 +  * CUDA programinio kodo spartinimui naudojant GPU 
 +  * Programavimas Python Jupyter-notebooks su GPU 
 +  * Simuliacinių skaičiavimų pavyzdys 
 +  * Mašininio mokymo projektas (duomenys/modelis jų įkėlimas/atsisiuntimas) 
 +  * Mašininio mokymo pavyzdys naudojant vieną GPU 
 +  * Mašininio mokymo pavyzdys naudojant kelis GPU
  
- * [[https://drive.mif.vu.lt/s/tHGtLZHbyQHpXK8|Užduočių valdymas, naudotojų PĮ ir CPU skaičiavimai HPC infrastruktūroje (skaidrės)]]+  * [[https://drive.mif.vu.lt/s/MgH6Y9NNA63bQpA|GPU skaičiavimai HPC insfrastruktūroje (skaidrės)]] 
 +  * [[https://drive.mif.vu.lt/s/9Zpzxzq4XCyMozp|GPU skaičiavimai HPC insfrastruktūroje (video) ]]
  
- * [[https://drive.mif.vu.lt/s/mDTbB3stWe9AKyS|Užduočių valdymas, naudotojų PĮ ir CPU skaičiavimai HPC infrastruktūroje (video)]]+====== Nuorodos ======
  
 +  * [[waldur|HPC Waldur portalo aprašymas]]
   * [[http://mif.vu.lt/itapc#paslaug%C5%B3-u%C5%BEsakymas|ITAPC paslaugų užsakymas]]   * [[http://mif.vu.lt/itapc#paslaug%C5%B3-u%C5%BEsakymas|ITAPC paslaugų užsakymas]]
   * [[https://slurm.schedmd.com/quickstart.html|Quick Start User Guide (SLURM)]]   * [[https://slurm.schedmd.com/quickstart.html|Quick Start User Guide (SLURM)]]
   * [[https://docs.qlustar.com/Qlustar/11.0/HPCstack/hpc-user-manual.html|HPC User Manual (Qlustar)]]   * [[https://docs.qlustar.com/Qlustar/11.0/HPCstack/hpc-user-manual.html|HPC User Manual (Qlustar)]]
   * [[http://www.mcs.anl.gov/research/projects/mpi/|MPI standartas]]   * [[http://www.mcs.anl.gov/research/projects/mpi/|MPI standartas]]
-  * pagalba@mif.vu.lt - problemų su PST registracija+  * pagalba@mif.vu.lt - problemų su **HPC** registracija
  
hpc.txt · Keista: 2024/02/21 12:50 vartotojo rolnas

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki