====A queue rendszer részletesebb bemutatása==== A SLURM (Simple Linux Utility for Resource Management) rendszert használjuk. Ez a [[https://computing.llnl.gov/linux/slurm/|Lawrence Livermore National Laboratory fejlesztése]]. Történeti áttekintést és más queue rendszerekkel összehasonlítást [[queuecomparison|itt]] olvashat. ===Legfontosabb parancsok=== sbatch [param] scriptname.sh Lefoglalja a kért erőforrásokat (node-okat) majd az egyik lefoglalt node-ban elindítja a kért ''scriptname.sh'' programot, 1 szálon. A script kimenete egy ''slurm-`job-id'.out'' file-ban képződik meg. srun programname *sbatch scripten belül használva. Az ''sbatch'' által lefoglalt erőforrásban futtatja a megadott programot. Amennyiben a program egy script, úgy minden allokált magon elindít egy példányt. * Interaktívan használva. Lefoglalja a kért erőforrásokat (node-okat). Amennyiben a program egy script, úgy minden allokált magon elindít egy példányt. Megvárja, amíg a program(ok) véget érnek. Emiatt elsősorban rövidebb feladatokra, tesztelésre, hibakeresésre használható. Ha éppen üres a queue. salloc [param] Interaktívan használható. lefoglalja a kívánt erőforrásokat és shellt ad az indítási gépen (a fejgépen). Programfejlesztésre ajánljuk csak. Alkalmas arra, hogy a lefoglalt node -ra be lehessen interaktívan jelentkezni. squeue A queue rendszer állapotát írja ki. Milyen job-ok futnak, melyek várakoznak, stb. sinfo Az egész rendszerről ad egy áttekintő képet. Melyik partíción melyik node foglalt, melyik idle, melyik down. scancel job-id Ezzel lehet kilőni egy elindított jobot, a véget érése előtt. Ha nem adsz meg paramétert, akkor az összes jobodat (csak a tieidet) kilövi. ===Legfontosabb kapcsolók, opciók:=== Az alábbi kapcsolók egyaránt használhatók az sbatch, srun, salloc parancsoknál. -p partition A futtató partíció neve. Lehetséges értékek: hpc2019, login, flocking. --nodes nodecount Az allokálandó node-ok száma. Egyéb kapcsoló nélkül a slurm úgy gondolja, hogy node-onkét 1 program (pthread, openMP) fog futni. Lásd a ''--ntasks-per-node'' kapcsolót. A hpc2019 partícióhoz ajánljuk. -n 3 3 processzormag allokálása. (3 szál indítása). A login, hpc2019 és a flocking partícióhoz ajánljuk. ==Példák 16 szálú MPI programok indítására== Az alkalmazás természetétől függ, hogy hány szálon lesz a leggyorsabb. Előre megmondani nem tudjuk. Az eddig telsztelt MPI programok 100 szálon nem voltak gyorsabbak, mint 50 szálon. A leggyakoribb maximlális futásteljesítményt 20-50 szál között adták. Gyakori még, hogy a program logikája csak kettőhatvány szállal működik jól. sbatch --nodes 1 --ntasks-per-node=16 scriptname.sh Ez 1 node-ot allokál. Ezen a node-on indít 16 szálat. sbatch --nodes 2 --ntasks-per-node=8 scriptname.sh Ez 2 node-ot allokál. Mindkét node-on indít 8-8 szálat. sbatch --nodes 4 --ntasks-per-node=4 scriptname.sh Ez 2 node-ot allokál. Mindkét node-on indít 8-8 szálat. sbatch --nodes 16 --ntasks-per-node=1 scriptname.sh Ez 16 node-ot allokál. Mind a 16 node-on indít 1-1 szálat. sbatch -n 16 scriptname.sh Ez "valahogy" elindítja a programot 16 szálon. Ahogy a rendelkezésre álló erőforrások lehetővé teszik. 1 node-on az egészet, vagy 16 node-on egy-egy szálat. ==Másfajta (nem MPI) programok indítása== Bővebben a [[swquide]] oldalon.