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/06/30 08:41] – [Registracija] rolnashpc [2022/02/14 13:54] – [Resursų limitai] rolnas
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.
- 
-**TESTUOJAMA iki 2021m rugpjūč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 22: Linija 20:
 Instaliuotų OS paketų sąrašą galite pasitikrinti su komanda ''dpkg -l'' (prisijungimo mazge **hpc** arba **power** mazguose). Instaliuotų OS paketų sąrašą galite pasitikrinti su komanda ''dpkg -l'' (prisijungimo mazge **hpc** arba **power** mazguose).
  
-Su komanda [[https://sylabs.io/guides/3.2/user-guide/index.html|singularity]] galima pasinaudoti jau paruoštomis konteinerių failų kopijomis kataloguose ''/apps/local/hpc'', ''/apps/local/nvidia'', ''/apps/local/intel'' arba pačiam atsisiųsti iš singularity ir docker internetinių katalogų. Pasinaudojus MIF cloud paslauga galima susikurti ir savo singularity konteinerius.+Su komanda [[https://sylabs.io/guides/3.2/user-guide/index.html|singularity]] galima pasinaudoti jau paruoštomis konteinerių failų kopijomis kataloguose ''/apps/local/hpc'', ''/apps/local/nvidia'', ''/apps/local/intel'', ''/apps/local/lang'' arba pačiam atsisiųsti iš singularity ir docker internetinių katalogų. Pasinaudojus MIF cloud paslauga galima susikurti ir savo singularity konteinerius. 
 + 
 +Su singularity galite paruošti savo konteinerį, pvz: 
 +<code shell> 
 +$ singularity build --sandbox /tmp/python docker://python:3.8 
 +$ singularity exec -w /tmp/python pip install paketas 
 +$ singularity build python.sif /tmp/python 
 +$ rm -rf /tmp/python 
 +</code> 
 +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: 
 +<code shell> 
 +$ singularity build --sandbox /tmp/python docker://ubuntu:18.04 
 +$ mkdir /tmp/python/usr/lib/x86_64-linux-gnu/libfakeroot 
 +$ fakeroot singularity exec -B /usr/lib/x86_64-linux-gnu/libfakeroot -w /tmp/python apt-get update 
 +$ fakeroot singularity exec -B /usr/lib/x86_64-linux-gnu/libfakeroot -w /tmp/python apt-get install python3.8 ... 
 +$ fakeroot singularity exec -B /usr/lib/x86_64-linux-gnu/libfakeroot -w /tmp/python apt-get clean 
 +$ rm -rf /tmp/python/var/lib/apt/lists (galima ir daugiau išvalyti, ko nereikia) 
 +$ singularity build python.sif /tmp/python 
 +$ rm -rf /tmp/python 
 +</code>
  
 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.+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>
 +$ python3.7 -m pip install --upgrade pip setuptools wheel
 +$ python3.7 -m pip install --ignore-installed batchspawner jupyterlab
 +</code>
 +
 +Taip pat jūs galite pasinaudoti savo pasidarytu konteineriu per JupyterHub. Tame konteineryje reikia instaliuoti ''batchswapner'' ir ''jupyterlab'' paketus bei sukurti script'ą ''~/.local/bin/batchspawner-singleuser'' su vykdymo teisėmis (''chmod +x ~/.local/bin/batchspawner-singleuser'')
 +<code shell>
 +#!/bin/sh
 +exec singularity exec --nv myjupyterlab.sif batchspawner-singleuser "$@"
 +</code>
 ====== Registracija ====== ====== Registracija ======
  
 PST gali naudotis tik registruoti VU MIF kompiuterių tinklo naudotojai. Esami **VU MIF tinklo naudotojai** PST gali naudotis **be papildomos registracijos**. PST gali naudotis tik registruoti VU MIF kompiuterių tinklo naudotojai. Esami **VU MIF tinklo naudotojai** PST gali naudotis **be papildomos registracijos**.
  
-Registracijai reikia užpildyti [[http://mif.vu.lt/itapc#paslaug%C5%B3-u%C5%BEsakymas|ITAPC paslaugų užsakymo formą]] ir pateikti ten nurodytu adresu. Paraišką patenkinus, suteikiamas 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 pamiršto slaptažodžio pakeitimo procedūrą, naudodami 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.+Registracijai reikia užpildyti [[http://mif.vu.lt/itapc#paslaug%C5%B3-u%C5%BEsakymas|ITAPC paslaugų užsakymo formą]] ir pateikti ten nurodytu adresu. Paraišką patenkinus, suteikiamas 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.
  
-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ų.+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ų.
  
 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 (eduGAIN arba LITNET tinkle) prisijungimu galima pačiam susikurti VU MIF HPC prisijungimą ir prašyti gauti prieigą prie šių resursų.
Linija 51: Linija 80:
  
 Jeigu naudojate SSH raktus (pvz: jei norite kopijuoti didelius failus): Jeigu naudojate SSH raktus (pvz: jei norite kopijuoti didelius failus):
 +  * Jei neturite SSH raktų, instrukciją kaip juos susikurti Windows aplinkoje rasite **[[duk:ssh_key|čia]]**
   *     Prieš naudodami šį būdą, reikia bent kartą prisijungti su Kerberos ir PST failų sistemoje susikurti ''~/.ssh'' katalogą ir į jį įdėti savo **ssh viešąjį raktą** (OpenSSH formatu) į failą ''~/.ssh/authorized_keys''.   *     Prieš naudodami šį būdą, reikia bent kartą prisijungti su Kerberos ir PST failų sistemoje susikurti ''~/.ssh'' katalogą ir į jį įdėti savo **ssh viešąjį raktą** (OpenSSH formatu) į failą ''~/.ssh/authorized_keys''.
   *     Prisijungiate su **ssh**, **sftp**, **scp**, **putty**, **winscp** ar kitomis **ssh** protokolą palaikančiomis programomis į **hpc.mif.vu.lt** su savo **ssh privačiu raktu** nurodydami savo VU MIF naudotojo vardą (turi nereikalauti prisijungimo slaptažodžio, bet gali reikalauti jūsų ssh privataus rakto slaptažodžio).   *     Prisijungiate su **ssh**, **sftp**, **scp**, **putty**, **winscp** ar kitomis **ssh** protokolą palaikančiomis programomis į **hpc.mif.vu.lt** su savo **ssh privačiu raktu** nurodydami savo VU MIF naudotojo vardą (turi nereikalauti prisijungimo slaptažodžio, bet gali reikalauti jūsų ssh privataus rakto slaptažodžio).
 +
 +Pirmą kartą prisijungus jūs **negalėsite** paleisti **SLURM užduočių** per pirmąsias **5 minutes**. Po to jums bus automatiškai sukurtas **SLURM naudotojas** ir priskirti **resursų limitai**.
  
 ====== Bendra failų sistema (Lustre) ====== ====== Bendra failų sistema (Lustre) ======
Linija 86: Linija 117:
 #SBATCH -p main #SBATCH -p main
 #SBATCH -n4 #SBATCH -n4
 +module load openmpi
 mpicc -o mpi-test mpi-test.c mpicc -o mpi-test mpi-test.c
 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".
 +
 +<code shell mpi-test-job.sh>
 +#!/bin/sh
 +#SBATCH --account=alloc_xxxx_projektas
 +#SBATCH -p main
 +#SBATCH -n4
 +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.
--p short - į kokią eilę siųsti (main, gpu, power). + 
--n4 - kiek procesorių rezervuoti.+ -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).
  
 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 195: Linija 242:
   * 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 ======+====== Resursų limitai ====== 
 + 
 +Peržiūrėti kiek išnaudota resursų 
 + 
 +<code> 
 +sreport -T cpu,mem,gres/gpu cluster AccountUtilizationByUser Start=0101 End=0131 User=USERNAME 
 +</code> 
 + 
 +kur **USERNAME** jūsų MIF naudotojo vardas, o **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. 
 +====== Nuorodos ir mokymo medžiaga ====== 
 + 
 + 
 +**1 mokymų dalis** 
 + 
 + - 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 
 + 
 + 
 + * [[https://drive.mif.vu.lt/s/xcK4cS8k3rZoKG9|Įvadas į HPC (skaidrės)]] 
 + 
 + * [[https://drive.mif.vu.lt/s/ipy3FLNGnEqm8TE|Įvadas į HPC (video) ]] 
 + 
 +**2 mokymų dalis** 
 + 
 + - 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) 
 + 
 + * [[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)]] 
 + 
 +**3 mokymų dalis** 
 + 
 +- 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/MgH6Y9NNA63bQpA|GPU skaičiavimai HPC insfrastruktūroje (skaidrės)]] 
 + 
 + * [[https://drive.mif.vu.lt/s/9Zpzxzq4XCyMozp|GPU skaičiavimai HPC insfrastruktūroje (video) ]]
  
   * [[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]]
hpc.txt · Keista: 2024/02/21 12:50 vartotojo rolnas

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki