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 09:48] – [Batch Processing of Tasks (SLURM)] grikieteen:hpc [2022/07/18 08:09] – [MPI programų vykdymas] grikiete
Line 166: Line 166:
  
 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]].
 +
 +====== Interactive Tasks (SLURM) ======
 +
 +Interactive tasks can be done with the //srun// command:
 +
 +<code>
 +$ srun --pty $SHELL
 +</code>
 +
 +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.
 +
 +After the commands are done disconnect from the compute node with the command
 +
 +<code>
 +$ exit
 +</code>
 +
 +If you want to run graphical programs, you need to connect to **ssh -X** to **uosis.mif.vu.lt** and **hpc**:
 +
 +<code>
 +$ ssh -X uosis.mif.vu.lt
 +$ ssh -X hpc
 +$ srun --pty $SHELL
 +</code>
 +
 +In **power** cluster interactive tasks can be performed with
 +
 +<code>
 +$ srun -p power --mpi=none --pty $SHELL
 +</code>
 +
 +====== GPU Tasks (SLURM) ======
 +
 +To use GPU you need to specify additionally <code>--gres gpu:N</code> where N is desired GPU amount.
 +
 +With ''nvidia-smi'' in the task you can check the GPU amount that was dedicated.
 +
 +Example of an interactive task with 1 GPU:
 +<code>
 +$ srun -p gpu --gres gpu --pty $SHELL
 +</code>
 +
 +====== Introduction to OpenMPI ======
 +
 +Ubuntu 18.04 LTS is the packet of **2.1.1** OpenMPI version.
 +To use the newer version **4.0.1** you need to use
 +<code>
 +module load openmpi/4.0
 +</code>
 +before running MPI commands.
 +
 +===== MPI Compiling Programs =====
 +
 +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>
 +$ mpicc -o foo foo.c
 +$ mpif77 -o foo foo.f
 +$ mpif90 -o foo foo.f
 +</code>
 +===== Implementation of MPI Programmes =====
 +
 +MPI programs are started with **mpirun** or **mpiexec**. You can learn more about them with the **man mpirun** or **man mpiexec** command.
 +
 +A simple (SPMD) program can be started with the following mpirun command line.
 +
 +<code>
 +$ mpirun foo
 +</code>
 +
 +Tai naudos visus paskirtus procesorius, pagal tai, kiek jų buvo užsakyta. Jeigu norima pasinaudoti mažiau, tai **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 naudoti, nes tai gali turėti įtakos kitų užduočių vykdymui.
 +
 +Daugiau apie instaliuotą **OpenMPI** yra [[https://www.open-mpi.org|OpenMPI]] puslapyje.
 +
 +====== Užduočių efektyvumas ======
 +
 +  * 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.
 +  * 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 ======
 +
 +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.
 +
 +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.
 +
 +Atkreipkite dėmesį, kad naudojimas pateikiamas minutėmis, o į valandas konvertuoti reikia dalinant iš 60.
 +
 +Kitas būdas pažiūrėti limitus ir jų išnaudojimą
 +
 +<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ų.
  
  
  
en/hpc.txt · Last modified: 2024/02/21 12:50 by rolnas

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki