hpc
Skirtumai
Čia matote skirtumus tarp pasirinktos versijos ir esamo dokumento.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
hpc [2021/12/14 10:14] – [Nuorodos ir mokymo medžiaga] mif28585 | hpc [2022/11/30 17:40] – [Programinė įranga] 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 18: | Linija 16: | ||
====== Programinė įranga ====== | ====== Programinė įranga ====== | ||
- | **main** ir **gpu** yra instaliuota [[https:// | + | **main** ir **gpu** yra instaliuota [[https:// |
Instaliuotų OS paketų sąrašą galite pasitikrinti su komanda '' | Instaliuotų OS paketų sąrašą galite pasitikrinti su komanda '' | ||
Linija 27: | Linija 25: | ||
<code shell> | <code shell> | ||
$ singularity build --sandbox /tmp/python docker:// | $ singularity build --sandbox /tmp/python docker:// | ||
- | $ singularity exec -w /tmp/python pip install paketas | + | $ mkdir -p / |
+ | $ cd /tmp | ||
+ | $ singularity exec -c -W /tmp/$USER -H / | ||
+ | $ cd | ||
$ singularity build python.sif /tmp/python | $ singularity build python.sif /tmp/python | ||
- | $ rm -r /tmp/python | + | $ rm -rf / |
+ | </ | ||
+ | Tam kad pasinaudoti tokiu konteineriu, | ||
+ | <code shell> | ||
+ | singularity exec -H ~/ | ||
</ | </ | ||
Analogiškai galima pasinaudoti R, Julia ar kitais konteineriais, | Analogiškai galima pasinaudoti R, Julia ar kitais konteineriais, | ||
+ | |||
+ | Jeigu reikia papildyti singularity kontainerį OS paketais, tam reikia root/ | ||
+ | <code shell> | ||
+ | $ singularity build --sandbox /tmp/python docker:// | ||
+ | $ cp / | ||
+ | $ fakeroot -l / | ||
+ | $ fakeroot -l / | ||
+ | $ fakeroot -l / | ||
+ | $ rm -rf / | ||
+ | $ singularity build python.sif /tmp/python | ||
+ | $ rm -rf /tmp/python | ||
+ | </ | ||
Kataloge ''/ | Kataloge ''/ | ||
- | Su [[https:// | + | Su [[https:// |
<code shell> | <code shell> | ||
- | $ python3.7 -m pip install --upgrade pip setuptools wheel | + | $ python3.8 -m pip install --upgrade pip setuptools wheel |
- | $ python3.7 -m pip install --ignore-installed batchspawner jupyterlab | + | $ python3.8 -m pip install --ignore-installed batchspawner jupyterlab |
</ | </ | ||
+ | Taip pat jūs galite pasinaudoti savo pasidarytu konteineriu per JupyterHub. Tame konteineryje reikia instaliuoti '' | ||
+ | <code shell> | ||
+ | #!/bin/sh | ||
+ | exec singularity exec --nv myjupyterlab.sif batchspawner-singleuser " | ||
+ | </ | ||
====== Registracija ====== | ====== Registracija ====== | ||
- | PST gali naudotis tik registruoti VU MIF kompiuterių tinklo naudotojai. Esami **VU MIF tinklo | + | * **VU MIF tinklo |
- | + | ||
- | Registracijai reikia | + | |
- | Su suteiktu (pasirinktu) naudotojo vardu ir savo įvestu slaptažodžiu įgyjama teisė jungtis prie serverio | + | |
- | Adresu | + | * **Kitiems naudotojams (ne VU bendruomenės nariams)** - paslaugoms gauti turite užpildyti [[https:// |
====== Prisijungimas ====== | ====== Prisijungimas ====== | ||
Linija 56: | Linija 76: | ||
Norint prisijungti prie **PST** reikia naudoti SSH programas (ssh, putty, winscp, mobaxterm) ir Kerberos arba SSH raktų autentikaciją. | Norint prisijungti prie **PST** reikia naudoti SSH programas (ssh, putty, winscp, mobaxterm) ir Kerberos arba SSH raktų autentikaciją. | ||
- | Jeigu naudojate Kerberos: | + | Jeigu naudojate |
- | * Prisijungiate | + | * Prisijunkite |
- | * **arba** su ssh ar putty programa | + | * **arba** su ssh ar putty programa |
- | * Su komanda **klist** patikrinkite ar turite galiojantį Kerberos raktą (ticket). Jei rakto nėra arba jo galiojimo laikas pasibaigęs, | + | * Su komanda **klist** patikrinkite, ar turite galiojantį Kerberos raktą (ticket). Jei rakto nėra arba jo galiojimo laikas pasibaigęs, |
- | * Jungiatės į mazgą **hpc** su komanda **ssh hpc** (turi nereikalauti slaptažodžio). | + | * Junkitės į mazgą **hpc** su komanda **ssh hpc** (turi nereikalauti slaptažodžio). |
* **Pirmą kartą** prisijungus turi praeiti **5min**, kad galėtumėte naudotis PST. | * **Pirmą kartą** prisijungus turi praeiti **5min**, kad galėtumėte naudotis PST. | ||
- | Jeigu naudojate SSH raktus (pvz: jei norite kopijuoti didelius failus): | + | Jeigu naudojate |
* Jei neturite SSH raktų, instrukciją kaip juos susikurti Windows aplinkoje rasite **[[duk: | * Jei neturite SSH raktų, instrukciją kaip juos susikurti Windows aplinkoje rasite **[[duk: | ||
* | * | ||
- | * Prisijungiate | + | * Prisijunkite |
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**. | 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**. | ||
Linija 84: | Linija 104: | ||
^Eilė (partition) ^Laiko limitas ^RAM | ^Eilė (partition) ^Laiko limitas ^RAM | ||
- | ^main ^7d | + | ^main ^nėra |
- | ^gpu ^48h ^12000MB | + | ^gpu ^nėra |
- | ^power | + | ^power |
- | Visose eilėse užduotims laiko limitas yra **2h**, jei jis nebuvo nurodytas, o lentelėje yra pateiktas maksimalus leidžiamas laiko limitas. | + | Visose eilėse užduotims laiko limitas yra **2h**, jei jis nebuvo nurodytas, o lentelėje yra pateiktas maksimalus leidžiamas laiko limitas |
**RAM** stulpelyje yra pateikiamas kiekvienam rezervuotam **CPU** branduoliui skiriamas RAM kiekis. | **RAM** stulpelyje yra pateikiamas kiekvienam rezervuotam **CPU** branduoliui skiriamas RAM kiekis. | ||
Linija 99: | Linija 119: | ||
<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 126: | ||
mpirun mpi-test | mpirun mpi-test | ||
</ | </ | ||
+ | |||
+ | Pateikus paraišką ITAPC ir gavus teigimą sprendimą, reikia susikurti naudotoją https:// | ||
+ | |||
+ | <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 | ||
+ | </ | ||
+ | |||
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 | ||
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 **/ | 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 **/ | ||
Linija 141: | Linija 177: | ||
====== Interaktyvios užduotys (SLURM) ====== | ====== Interaktyvios užduotys (SLURM) ====== | ||
- | Interaktyvias užduotis galima | + | Interaktyvias užduotis galima vykdyti su komanda srun: |
< | < | ||
Linija 161: | Linija 197: | ||
$ ssh -X hpc | $ ssh -X hpc | ||
$ srun --pty $SHELL | $ srun --pty $SHELL | ||
+ | </ | ||
+ | |||
+ | **power** telkinyje interaktyvias užduotis galima vykdyti su | ||
+ | |||
+ | < | ||
+ | $ srun -p power --mpi=none --pty $SHELL | ||
</ | </ | ||
Linija 202: | Linija 244: | ||
</ | </ | ||
- | Tai naudos visus paskirtus procesorius, | + | Bus naudojami visi paskirti procesoriai |
+ | |||
+ | **DĖMESIO: | ||
Daugiau apie instaliuotą **OpenMPI** yra [[https:// | Daugiau apie instaliuotą **OpenMPI** yra [[https:// | ||
Linija 210: | Linija 254: | ||
* Prašome išnaudoti ne mažiau 50% užsakyto CPU kiekio. | * Prašome išnaudoti ne mažiau 50% užsakyto CPU kiekio. | ||
* Naudoti daugiau CPU, nei užsakyta, nepadidins efektyvumo, nes jūsų užduotis galės naudoti tik tiek CPU, kiek buvo užsakyta. | * Naudoti daugiau CPU, nei užsakyta, nepadidins efektyvumo, nes jūsų užduotis galės naudoti tik tiek CPU, kiek buvo užsakyta. | ||
- | * Jeigu naudosite parametrą '' | + | * Jeigu naudosite parametrą '' |
- | ====== | + | ====== |
+ | Jeigu jūsų užduotys nestartuoja dėl **AssocGrpCPUMinutesLimit** arba **AssocGrpGRESMinutes** priežasties, | ||
+ | | ||
- | **1 mokymų dalis** | + | //Pirmasis būdas peržiūrėti, |
- | - Trumpai apie HPC, kas tai yra, kam jo reikia | + | < |
+ | sreport | ||
+ | </ | ||
- | - Kokie HPC būna, koks yra VU ir kokia MIF dalis | + | kur **USERNAME** |
- | - Kaip prisijungti MIF darbuotojams / studentams prie HPC | + | **DĖMESIO**: |
- | - SSH rakto kūrimas ir naudojimas Windows aplinkoje | + | //Antrasis būdas peržiūrėti, |
- | + | ||
- | - WinScp naudojimas Windows aplinkoje | + | |
+ | < | ||
+ | sshare -l -A USERNAME_mif -p -o GrpTRESRaw, | ||
+ | </ | ||
- | * [[https:// | + | kur **USERNAME** - MIF naudotojo vardas. Arba parametre **-A** nurodyti tą paskyrą, kurios naudojimą reikia pažiūrėti. Duomenys yra pateikiami cpu/gpu minutėmis: |
+ | * **GrpTRESRaw** - kiek išnaudota. | ||
+ | * **GrpTRESMins** - koks yra limitas. | ||
+ | * **TRESRunMins** - likę resursai dar vis vykdomų užduočių. | ||
- | * [[https:// | + | ====== Mokymų medžiaga ====== |
- | **2 mokymų dalis** | + | Toliau pateikiama informacija apie mokymus, kurie vyko 2021m gruodžio mėn. |
- | - Slurm komandos darbams paleisti/ | + | ===== 1 mokymų dalis ===== |
- | - Sbatch failas | + | * 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 | ||
+ | * WinScp naudojimas Windows aplinkoje | ||
- | - Darbai interaktyviu režimu ir darbai liekantys veikti po atsijungimo | + | * [[https:// |
+ | * [[https:// | ||
- | - Python/ | + | ===== 2 mokymų dalis ===== |
- | - Singularity konteineriai: | + | * Slurm komandos darbams paleisti/ |
+ | * Sbatch failas ir jo tipiniai parametrai CPU ir GPU particijoms | ||
+ | * Darbai interaktyviu režimu ir darbai liekantys veikti po atsijungimo (Sbatch) | ||
+ | * Python/ | ||
+ | * Singularity konteineriai: | ||
+ | * Darbas su MPI | ||
+ | * Rezultatų išvedimas ir parsisiuntimas į naudotojo kompiuterį | ||
+ | * Papildomų resursų užsakymai (Waldur) | ||
- | - Darbas su MPI | + | * [[https:// |
+ | * [[https:// | ||
- | - Rezultatų išvedimas ir parsisiuntimas į naudotojo kompiuterį | + | ===== 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 | ||
+ | * Mašininio mokymo pavyzdys naudojant vieną GPU | ||
+ | * Mašininio mokymo pavyzdys naudojant kelis GPU | ||
- | * [[https:// | + | |
+ | * [[https:// | ||
- | * [[https:// | + | ====== Nuorodos ====== |
+ | * [[waldur|HPC Waldur portalo aprašymas]] | ||
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
- | * [[https:// | + | * [[https:// |
* [[http:// | * [[http:// | ||
- | * pagalba@mif.vu.lt - problemų su PST registracija | + | * [[pagalba@mif.vu.lt]] - problemų su **HPC** |
hpc.txt · Keista: 2024/02/21 12:50 vartotojo rolnas