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/14 10:14] – [Nuorodos ir mokymo medžiaga] mif28585hpc [2022/02/24 10:21] – [Mokymų medžiaga] 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.
- 
-**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 29: Linija 27:
 $ singularity exec -w /tmp/python pip install paketas $ singularity exec -w /tmp/python pip install paketas
 $ singularity build python.sif /tmp/python $ singularity build python.sif /tmp/python
-$ rm -/tmp/python+$ rm -rf /tmp/python
 </code> </code>
 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:
 +<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.
Linija 42: Linija 52:
 </code> </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 ======
  
Linija 99: Linija 114:
  
 <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 106: Linija 121:
 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/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.
--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 212: Linija 243:
   * 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>
  
 +kur **USERNAME** MIF naudotojo vardas. Arba 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/xcK4cS8k3rZoKG9|Įvadas į HPC (skaidrės)]]+====== Mokymų medžiaga ======
  
- * [[https://drive.mif.vu.lt/s/ipy3FLNGnEqm8TE|Įvadas į HPC (video) ]]+ 
 +**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** **2 mokymų dalis**
Linija 254: Linija 303:
  * [[https://drive.mif.vu.lt/s/mDTbB3stWe9AKyS|Užduočių valdymas, naudotojų PĮ ir CPU skaičiavimai HPC infrastruktūroje (video)]]  * [[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) ]]
 +
 +====== Nuorodos ======
 +
 +  * [[http://hpc.mif.vu.lt|HPC Waldur portalas]]
   * [[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