IT wiki

VU MIF STSC

User Tools

Site Tools


en:hpc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
en:hpc [2022/07/04 14:07] grikieteen:hpc [2022/07/18 10:48] – [The Limits of Resources] grikiete
Line 167: Line 167:
 More about SLURM opportunities you can read [[https://slurm.schedmd.com/quickstart.html|Quick Start User Guide]]. More about SLURM opportunities you can read [[https://slurm.schedmd.com/quickstart.html|Quick Start User Guide]].
  
-====== Paketinis užduočių vykdymas (SLURM) ======+====== Interactive Tasks (SLURM) ======
  
-Norint pasinaudoti PST skaičiavimo resursais, reikia formuoti užduočių scenarijus (sh arba csh). +Interactive tasks can be done with the //srun// command:
- +
-Pavyzdys: +
- +
-<code shell mpi-test-job.sh> +
-#!/bin/bash +
-#SBATCH -p main +
-#SBATCH -n4 +
-module load openmpi +
-mpicc -o mpi-test mpi-test.c +
-mpirun mpi-test +
-</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. +
- +
- -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ą). +
- +
-Suformuotą scenarijų siunčiame su komanda sbatch +
- +
-''$ sbatch mpi-test-job'' +
- +
-kuri gražina pateiktos užduoties numerį **JOBID**. +
- +
-Laukiančios arba vykdomos užduoties būseną galima sužinoti su komanda squeue +
- +
-''$ squeue -j JOBID'' +
- +
-Su komanda scancel galima nutraukti užduoties vykdymą arba išimti ją iš eilės +
- +
-''$ scancel JOBID'' +
- +
-Jeigu neatsimenate savo užduočių **JOBID**, tai galite pasižiūrėti su komanda **squeue** +
- +
-''$ squeue'' +
- +
-Užbaigtų užduočių **squeue** jau neberodo. +
- +
-Jeigu nurodytas procesorių kiekis nėra pasiekiamas, tai jūsų užduotis yra įterpiama į eilę. Joje ji bus kol atsilaisvins pakankamas kiekis procesorių arba kol jūs ją pašalinsite su **scancel**. +
- +
-Vykdomos užduoties išvestis (**output**) yra įrašoma į failą **slurm-JOBID.out**. Jei nenurodyta kitaip, tai ir klaidų (error) išvestis yra įrašoma į tą patį failą. Failų vardus galima pakeisti su komandos **sbatch** parametrais -o (nurodyti išvesties failą) ir -e (nurodyti klaidų failą). +
- +
-Daugiau apie SLURM galimybes galite paskaityti [[https://slurm.schedmd.com/quickstart.html|Quick Start User Guide]]. +
- +
-====== Interaktyvios užduotys (SLURM) ====== +
- +
-Interaktyvias užduotis galima vykdyti su komanda srun:+
  
 <code> <code>
Line 238: Line 175:
 </code> </code>
  
-Įvykdę aukščiau pateiktą komandą prisijungsite prie SLURM paskirtos skaičiavimo mazgo aplinkos ir galėsite tiesiogiai vykdyti ir derinti programas jame.+The above command will connect you to the compute node environment assigned to SLURM and allow you to directly run and debug programs on it.
  
-Įvykdę komandas atsijunkite nuo skaičiavimo mazgo su komanda+After the commands are done disconnect from the compute node with the command
  
 <code> <code>
Line 246: Line 183:
 </code> </code>
  
-Jeigu norima vykdyti grafines programastai reikia jungtis su **ssh -X** į **uosis.mif.vu.lt** ir **hpc**:+If you want to run graphical programsyou need to connect to **ssh -X** to **uosis.mif.vu.lt** and **hpc**:
  
 <code> <code>
Line 254: Line 191:
 </code> </code>
  
-**power** telkinyje interaktyvias užduotis galima vykdyti su+In **power** cluster interactive tasks can be performed with
  
 <code> <code>
Line 260: Line 197:
 </code> </code>
  
-====== GPU užduotys (SLURM) ======+====== GPU Tasks (SLURM) ======
  
-Norint pasinaudoti GPU, reikia papildomai nurodyti <code>--gres gpu:N</code> kur - norimas GPU kiekis.+To use GPU you need to specify additionally <code>--gres gpu:N</code> where is desired GPU amount.
  
-Su ''nvidia-smi'' užduotyje galite pasitikrinti kiek GPU buvo paskirta.+With ''nvidia-smi'' in the task you can check the GPU amount that was dedicated.
  
-Pavyzdys interaktyvios užduoties su 1 GPU:+Example of an interactive task with 1 GPU:
 <code> <code>
 $ srun -p gpu --gres gpu --pty $SHELL $ srun -p gpu --gres gpu --pty $SHELL
 </code> </code>
  
-====== Įvadas į OpenMPI ======+====== Introduction to OpenMPI ======
  
-Ubuntu 18.04 LTS yra **2.1.1** versijos OpenMPI paketai+Ubuntu 18.04 LTS is the packet of **2.1.1** OpenMPI version
-Norint pasinaudoti naujesne **4.0.1** versija reikia naudoti+To use the newer version **4.0.1** you need to use
 <code> <code>
 module load openmpi/4.0 module load openmpi/4.0
 </code> </code>
-prieš vykdant MPI komandas.+before running MPI commands.
  
-===== MPI programų kompiliavimas =====+===== MPI Compiling Programs =====
  
-Paprastos MPI programos pavyzdys yra kataloge ''/scratch/lustre/test/openmpi''. **mpicc** (**mpiCC**, **mpif77**, **mpif90**, **mpifort**) yra apvalkalai C (C++, F77, F90, Fortran) kompiliatoriams, kurie automatiškai įtraukia į komandų eilutę reikiamus **MPI** intarpų (include) ir bibliotekų failus.+An example of a simple MPI program is in the directory ''/scratch/lustre/test/openmpi''. **mpicc** (**mpiCC**, **mpif77**, **mpif90**, **mpifort**) is a framework for C (C++, F77, F90, Fortran) compilers that automatically adds the necessary **MPI** include and library files to the command line.
  
 <code> <code>
Line 289: Line 226:
 $ mpif90 -o foo foo.f $ mpif90 -o foo foo.f
 </code> </code>
-===== MPI programų vykdymas =====+===== Implementation of MPI Programmes =====
  
-MPI programos startuojamos su **mpirun** arba **mpiexec** programaDaugiau apie jas galima sužinoti su komanda **man mpirun** arba **man mpiexec**.+MPI programs are started with **mpirun** or **mpiexec**. You can learn more about them with the **man mpirun** or **man mpiexec** command.
  
-Paprasta (SPMD) programa gali būti startuojama su tokia mpirun komandų eilute.+A simple (SPMD) program can be started with the following mpirun command line.
  
 <code> <code>
Line 299: Line 236:
 </code> </code>
  
-Tai naudos visus paskirtus procesorius, pagal tai, kiek jų buvo užsakytaJeigu norima pasinaudoti mažiautai **mpirun** galima nurodyti parametrą ''-np kiekis''Nepageidaujama ilgesniam laikui naudoti mažiau, nei rezervuota, nes neišnaudoti CPU lieka laisvi. Didesnį kiekį, nei rezervuotą, yra griežtai draudžiama naudotines tai gali turėti įtakos kitų užduočių vykdymui.+All allocated processors will be used according to the number orderedIf you want to use lessyou can specify the -np quantity parameter in **mpirun**. It is not recommended to use less CPU than reserved for a longer time periodas unused CPUs remain free.
  
-Daugiau apie instaliuotą **OpenMPI** yra [[https://www.open-mpi.org|OpenMPI]] puslapyje.+**ATTENTION** It is strictly forbidden to use more CPU than you have reserved, as this may affect the performance of other tasks.
  
-====== Užduočių efektyvumas ======+Find more information on [[https://www.open-mpi.org|OpenMPI]].
  
-  * Prašome išnaudoti ne mažiau 50% užsakyto CPU kiekio. +====== Task Efficiency ======
-  * 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ą ''--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.+
  
-====== Resursų limitai ======+  * Please use at least 50% of the ordered CPU quantity. 
 +  * Using more CPUs than ordered will not improve performance, as your task will only be able to use the CPUs ordered. 
 +  * If you use the ''--mem=X'' parameter, the task can reserve more **CPUs** in proportion to the amount of memory it wants. For example: if you order ''--mem=14000'' in the **main** queue, at least 2 CPUs will be reserved, unless other parameters specify more. If your task uses less than this, it will be an ineffective use of resources. In addition, it may run slower because it may use other memory than the executing CPU.
  
-Jeigu jūsų užduotys nestartuoja su priežastimi **AssocGrpCPUMinutesLimit** arba **AssocGrpGRESMinutes**, +====== The Limits of Resources ====== 
- tai pasitikrinkite ar užduotims dar liko neišnaudotų CPU/GPU resursų iš (mėnesio) limito.+ 
 +If your tasks don't start because of **AssocGrpCPUMinutesLimit** or **AssocGrpGRESMinutes**, 
 + you need to check if there are any unused CPU/GPU resources left from the monthly limit.
  
 Peržiūrėti kiek išnaudota resursų Peržiūrėti kiek išnaudota resursų
Line 332: Line 271:
 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ų. 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ų.
  
 +====== Nuorodos ======
 +
 +  * [[waldur|HPC Waldur portalo aprašymas]]
 +  * [[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://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]]
 +  * pagalba@mif.vu.lt - problemų su **HPC** registracija
  
  
en/hpc.txt · Last modified: 2024/02/21 12:50 by rolnas

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki