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/06/30 08:38] – [Programinė įranga] rolnas | hpc [2022/11/30 17:43] – [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. | ||
- | |||
- | **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 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 '' | ||
- | Su komanda [[https:// | + | Su komanda [[https:// |
+ | |||
+ | Su singularity galite paruošti savo konteinerį, | ||
+ | <code shell> | ||
+ | $ singularity build --sandbox /tmp/python docker:// | ||
+ | $ mkdir -p / | ||
+ | $ cd /tmp | ||
+ | $ singularity exec -c -W /tmp/$USER -H / | ||
+ | $ cd | ||
+ | $ singularity build python.sif / | ||
+ | $ rm -rf /tmp/python / | ||
+ | </ | ||
+ | Tam kad pasinaudoti tokiu konteineriu, | ||
+ | <code shell> | ||
+ | $ mkdir ~/workdir | ||
+ | $ singularity exec -H ~/ | ||
+ | </ | ||
+ | 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 / | ||
+ | $ rm -rf / | ||
+ | </ | ||
Kataloge ''/ | Kataloge ''/ | ||
- | Su [[https:// | + | Su [[https:// |
+ | <code shell> | ||
+ | $ python3.8 -m pip install --upgrade pip setuptools wheel | ||
+ | $ 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 tinklo |
- | Registracijai reikia | + | * **VU kompiuterių tinklo naudotojams** - paslaugoms gauti turite |
- | Su suteiktu | + | * **Kitiems naudotojams |
- | + | ||
- | Adresu | + | |
====== Prisijungimas ====== | ====== Prisijungimas ====== | ||
Linija 42: | Linija 77: | ||
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: | ||
* | * | ||
- | * 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**. | ||
====== Bendra failų sistema (Lustre) ====== | ====== Bendra failų sistema (Lustre) ====== | ||
Linija 68: | Linija 105: | ||
^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 83: | Linija 120: | ||
<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 | ||
+ | module load openmpi | ||
mpicc -o mpi-test mpi-test.c | mpicc -o mpi-test mpi-test.c | ||
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 124: | Linija 178: | ||
====== Interaktyvios užduotys (SLURM) ====== | ====== Interaktyvios užduotys (SLURM) ====== | ||
- | Interaktyvias užduotis galima | + | Interaktyvias užduotis galima vykdyti su komanda srun: |
< | < | ||
Linija 144: | Linija 198: | ||
$ 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 185: | Linija 245: | ||
</ | </ | ||
- | 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 193: | Linija 255: | ||
* 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ą '' |
+ | |||
+ | ====== Resursų limitai ====== | ||
+ | |||
+ | Jeigu jūsų užduotys nestartuoja dėl **AssocGrpCPUMinutesLimit** arba **AssocGrpGRESMinutes** priežasties, | ||
+ | | ||
+ | |||
+ | //Pirmasis būdas peržiūrėti, | ||
+ | |||
+ | < | ||
+ | sreport -T cpu, | ||
+ | </ | ||
+ | |||
+ | 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 '' | ||
+ | |||
+ | **DĖMESIO**: | ||
+ | |||
+ | //Antrasis būdas peržiūrėti, | ||
+ | |||
+ | < | ||
+ | sshare -l -A USERNAME_mif -p -o GrpTRESRaw, | ||
+ | </ | ||
+ | |||
+ | 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ų. | ||
+ | |||
+ | ====== Mokymų medžiaga ====== | ||
+ | |||
+ | Toliau pateikiama informacija apie mokymus, kurie vyko 2021m gruodžio mėn. | ||
+ | |||
+ | ===== 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:// | ||
+ | * [[https:// | ||
+ | |||
+ | ===== 2 mokymų dalis ===== | ||
+ | |||
+ | * 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) | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ===== 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/ | ||
+ | * Mašininio mokymo pavyzdys naudojant vieną GPU | ||
+ | * Mašininio mokymo pavyzdys naudojant kelis GPU | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
====== Nuorodos ====== | ====== 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