„NIIF szuperszámítógépek használata” változatai közötti eltérés
a (→SSH elérés beállítása) |
|||
40. sor: | 40. sor: | ||
<tt>$HOME/shf3/key/ssh</tt> könyvtár alatt találjuk: privát kulcs: <tt><MID>.sec</tt>, publikus kulcs: <tt><MID>.pub</tt>. A publikus részt kell eljuttatni a távoli gépre ill. elküldeni a regisztráció során. Ha vannak már kulcsaink, akkor ebbe a könyvtárba kell másolni az előbb említett nevekkel. Az SSH MID-ek a <tt>$HOME/shf3/mid/ssh</tt> könyvtár alatt vannak a <tt><MID></tt> nevű fájlokban. Minden SSH-val kapcsolatos parancs ezekt a fájlokat olvassa és használja a kulcsokat, ha elérhetők. | <tt>$HOME/shf3/key/ssh</tt> könyvtár alatt találjuk: privát kulcs: <tt><MID>.sec</tt>, publikus kulcs: <tt><MID>.pub</tt>. A publikus részt kell eljuttatni a távoli gépre ill. elküldeni a regisztráció során. Ha vannak már kulcsaink, akkor ebbe a könyvtárba kell másolni az előbb említett nevekkel. Az SSH MID-ek a <tt>$HOME/shf3/mid/ssh</tt> könyvtár alatt vannak a <tt><MID></tt> nevű fájlokban. Minden SSH-val kapcsolatos parancs ezekt a fájlokat olvassa és használja a kulcsokat, ha elérhetők. | ||
− | A | + | == SGI UV Pécs == |
+ | A pécsi gépen csak SMP vagy MPI programok futtatása engedélyezett. Minimálisan 12 szálat lehet lefoglalni. A foglalás alapegysége a numa node, ami 2x6 processzort és 60GB memóriát tartalmaz. Érdemes 12 többszörösével számolni a lefoglalalndó szálakat, pl.: 12, 24, 48, 96... Ha 2 hatványaira van szükségünk, akkor az SGE foglalást a legközelebbi 12-es szálszámmal kérjük, és az MPI-t vagy az OMP paraméterezzük 2^n szerint. | ||
+ | |||
+ | Az alapértelmezett MPI könyvtár az SGI MPT. Ez a könyvtár biztosítja a legjobb teljesítményt az UV gépen. A felhasználói programokat ehhez a könyvtárhoz kell fordítani. | ||
+ | |||
+ | === MPI SGE job szkript példa === | ||
+ | <source lang="bash"> | ||
+ | #!/bin/bash | ||
+ | ### SGE | ||
+ | #$ -N MPITEST | ||
+ | # 12 órás walltime limit | ||
+ | #$ -l h_rt=12:00:00 | ||
+ | # 384 szál lefoglalása az | ||
+ | # mpi párhuzamos környezetben | ||
+ | #$ -pe mpi 384 | ||
+ | # az uv.q sor használatával | ||
+ | #$ -q uv.q | ||
+ | # a standard kimenet ide íródik | ||
+ | #$ -o StdOut | ||
+ | # a hibakimenet ide íródik | ||
+ | #$ -e StdErr | ||
+ | # a jelenlegi shell környezet exportálódik | ||
+ | #$ -V | ||
+ | ### NUMA | ||
+ | # az StdOut-ba írja a numa node információt | ||
+ | numactl --show | ||
+ | ### OMP | ||
+ | # OMP beállítások | ||
+ | |||
+ | export OMP_NUM_THREADS=1 | ||
+ | ### MPI | ||
+ | # MPI beállítások | ||
+ | |||
+ | export MPI_MEMMAP_OFF=1 | ||
+ | # saját szkript vagy az mpirun közvetlen meghívás | ||
+ | # 384 MPI szál fog elindulni | ||
+ | mpirun 384 dplace -s 1 <APP> | ||
+ | </source> | ||
+ | Az `<APP>` helyére kell írni a futtatandó programot és paramétereit. A `dplace` egy SGI előtétprogram, ami az MPI szálak ideális CPU elosztását végzi, megadása javasolt, mert általában javítja a teljesítményt. | ||
+ | |||
+ | |||
+ | === OMP SGE job szkript példa === | ||
+ | <source lang="bash"> | ||
+ | #!/bin/bash | ||
+ | ### SGE | ||
+ | #$ -N OMPTEST | ||
+ | # 12 órás walltime limit | ||
+ | #$ -l h_rt=12:00:00 | ||
+ | # 192 szál lefoglalása az | ||
+ | # openmp párhuzamos környezetben | ||
+ | #$ -pe openmp 192 | ||
+ | # az uv.q sor használatával | ||
+ | #$ -q uv.q | ||
+ | # a standard kimenet ide íródik | ||
+ | #$ -o StdOut | ||
+ | # a hibakimenet ide íródik | ||
+ | #$ -e StdErr | ||
+ | # a jelenlegi shell környezet exportálódik | ||
+ | #$ -V | ||
+ | ### NUMA | ||
+ | # az StdOut-ba írja a numa node információt | ||
+ | numactl --show | ||
+ | ### OMP | ||
+ | # OMP beállítások | ||
+ | export OMP_NUM_THREADS=192 | ||
+ | omplace <APP> | ||
+ | </source> | ||
+ | Az `omplace` egy SGI előtétprogram, ami az MPI szálak ideális CPU elosztását végzi, megadása javasolt, mert általában javítja a teljesítményt. | ||
[[Category: HPC]] | [[Category: HPC]] | ||
[[Category: HOWTO]] | [[Category: HOWTO]] |
A lap 2013. április 24., 15:02-kori változata
Tartalomjegyzék
Hozzáférés a szuperszámítógépekhez
A szuperszámítógépekhez kulcsos SSH használatával lehet hozzáférni.
Hozzáférés a Shell Framework használatával
A Shell Framework egy összetett Bash alapú keretrendszer, ami kifejezetten a HPC felhasználók igényei alapján lett kifejlesztve. Jelentősen egyszerűsíti az SSH-val és a jobok kezelésével kapcsolatos teendőket. Támogatott operációs rendszerek: OS X, Linux.
Telepítés és frissítés
A keretrendszer a github.com-ról telepíthető és frissíthető. A telepítéséhez a következő parancsokat kell futtatni a terminálban:
cd $HOME
git clone git://github.com/hornos/shf3.git
echo 'source $HOME/shf3/bin/shfrc' >> $HOME/.profile
source .profile
A frissítéseket a következő paranccsal tudjuk letölteni:
shfmgr -u
SSH elérés beállítása
Az SSH modul független a $HOME/.ssh könyvtárban található konfigurációtól. Minden SSH login/gép pároshoz tartozik egy MID fájl. Ebben a fájlban vannak tárolva az SSH paraméterei kulcs=érték formában. A MID fájl Bash formátumú szkript fájl, amelyet más programokban a source paranccsal tudunk beolvasni. A $HOME/shf3 könyvtár tartalmazza a teljes keretrendszert és a beállításokat is, ezért ezt a könyvtárat tehetjük egy titkosított USB meghajtóra is és symlinkelhetjük a home könyvtárunkba.
Új SSH MID-et a következő paranccsal tudunk létrehozni:
sshmgr -n <MID>
A következő beállításokat kell beleírni a MID fájlba:
# a távoli gép IP címe vagy DNS neve
mid_ssh_fqdn="skynet.cyberdy.ne"
# távoli felhasználói név
mid_ssh_user="$USER"
# SSH port
mid_ssh_port=22
# explicit ellenőrzés
mid_ssh_port_check="ping"
Amennyiben nincs még SSH kulcsunk a szkript létrehozza ezt. Az SSH kulcsokat a $HOME/shf3/key/ssh könyvtár alatt találjuk: privát kulcs: <MID>.sec, publikus kulcs: <MID>.pub. A publikus részt kell eljuttatni a távoli gépre ill. elküldeni a regisztráció során. Ha vannak már kulcsaink, akkor ebbe a könyvtárba kell másolni az előbb említett nevekkel. Az SSH MID-ek a $HOME/shf3/mid/ssh könyvtár alatt vannak a <MID> nevű fájlokban. Minden SSH-val kapcsolatos parancs ezekt a fájlokat olvassa és használja a kulcsokat, ha elérhetők.
SGI UV Pécs
A pécsi gépen csak SMP vagy MPI programok futtatása engedélyezett. Minimálisan 12 szálat lehet lefoglalni. A foglalás alapegysége a numa node, ami 2x6 processzort és 60GB memóriát tartalmaz. Érdemes 12 többszörösével számolni a lefoglalalndó szálakat, pl.: 12, 24, 48, 96... Ha 2 hatványaira van szükségünk, akkor az SGE foglalást a legközelebbi 12-es szálszámmal kérjük, és az MPI-t vagy az OMP paraméterezzük 2^n szerint.
Az alapértelmezett MPI könyvtár az SGI MPT. Ez a könyvtár biztosítja a legjobb teljesítményt az UV gépen. A felhasználói programokat ehhez a könyvtárhoz kell fordítani.
MPI SGE job szkript példa
#!/bin/bash
### SGE
#$ -N MPITEST
# 12 órás walltime limit
#$ -l h_rt=12:00:00
# 384 szál lefoglalása az
# mpi párhuzamos környezetben
#$ -pe mpi 384
# az uv.q sor használatával
#$ -q uv.q
# a standard kimenet ide íródik
#$ -o StdOut
# a hibakimenet ide íródik
#$ -e StdErr
# a jelenlegi shell környezet exportálódik
#$ -V
### NUMA
# az StdOut-ba írja a numa node információt
numactl --show
### OMP
# OMP beállítások
export OMP_NUM_THREADS=1
### MPI
# MPI beállítások
export MPI_MEMMAP_OFF=1
# saját szkript vagy az mpirun közvetlen meghívás
# 384 MPI szál fog elindulni
mpirun 384 dplace -s 1 <APP>
Az `<APP>` helyére kell írni a futtatandó programot és paramétereit. A `dplace` egy SGI előtétprogram, ami az MPI szálak ideális CPU elosztását végzi, megadása javasolt, mert általában javítja a teljesítményt.
OMP SGE job szkript példa
#!/bin/bash
### SGE
#$ -N OMPTEST
# 12 órás walltime limit
#$ -l h_rt=12:00:00
# 192 szál lefoglalása az
# openmp párhuzamos környezetben
#$ -pe openmp 192
# az uv.q sor használatával
#$ -q uv.q
# a standard kimenet ide íródik
#$ -o StdOut
# a hibakimenet ide íródik
#$ -e StdErr
# a jelenlegi shell környezet exportálódik
#$ -V
### NUMA
# az StdOut-ba írja a numa node információt
numactl --show
### OMP
# OMP beállítások
export OMP_NUM_THREADS=192
omplace <APP>
Az `omplace` egy SGI előtétprogram, ami az MPI szálak ideális CPU elosztását végzi, megadása javasolt, mert általában javítja a teljesítményt.