Nahajate se tukaj

Kampus šola HPC 2014

Kampus šola visokozmogljivega računalništva (HPC) na začetku poletnih počitnic (7.-11. julij 2014)

Za vse študente (dodiplomske in podiplomske) na UL, FIŠ in ostale, ki si želijo vstopiti v svet superračunalništva, odkriti različne programske jezike in programe za simulacije ter pridobiti osnove v poganjanju vzporednih programov. Priporočeno je, da imajo študentje vsaj nekaj znanja iz programiranja. Prijavnina 10€ vključuje predavanja ter pogostitev med odmori. Prijavnina za zaposlene izven univerze, ki nimajo status študenta, je 150€. Prijave in podrobnosti na spletni strani: http://events.prace-ri.eu/event/cs14lj

Material z vaj in predavanj je na voljo na urniku HPC šole.

Program se bo hkrati izvajal na dveh lokacijah. Na Fakulteti za strojništvo v Ljubljani, Aškerčeva 6 in na Fakulteti za informacijske študije, Novo Mesto, Ulica talcev 3. Vaje bodo na superračunalniku HPCFS potekale iz obeh lokacij, le da bodo "inštruktorji" različni. Povabili bomo tudi različne strokovnjake, ki nam bodo v živo ali preko videokonferenčnega sistema pokazali še zanimive aplikacije, kot so posebne arhitekture koprocesorjev (GPU), simulacije in pa tudi teorija s tega in onega podočja, ki je zanimivo in potrebuje paralelizacijo.

Kampus šola HPC želi predvsem približati študentom na možnosti in lahkotnost uporabe superračunalnikov in pokazati konkretne primere skozi vaje na samem superračunalniku. Skozi vaje in ponavljanju primerov se boste naučili uporabljati okolje Linux na katerem HPC večinoma teče. Na primerih si bomo pogledali tudi programske jezike, ki omogočajo porazdelitev problema na več procesorjev. Običajno je to programski jezik C ali Fortran. Pa tudi Python je jezik, s katerim se da brez prevajanja preizkušati načelo deli in vladaj. Ob vsakih vajah bomo podrobno razložili programski jezik in njegove razširitve za vzporedno računanje.

Klasično v prevajalnikih C in Fortran obstajata dva načina doseganja hitrejšega računanja s porazdelitvijo. V enostavnejšem načinu z ukazi OpenMP kar v komentarje programa popišemo kako naj se določen del kode paralelizira. Z OpenMP lahko torej pričnemo paralelizirati, ko nam serijski program že preizkušeno deluje, naleteli pa smo na počasno delovanje. V OpenMP lahko tako program enkrat prevedemo serijsko in drugič paralelno ter tako enostavno preverimo ali je paralelizacija pravilna. Za paralelizacijo skrbi prevajalnik sam tako, da kreira niti (threads), za katere samo jedro operacjskega sistema že samo poskrbi, da se izvajajo na ločenih jedrih. Komentarji OpenMP v programih pa poskrbijo, da se skupen spomin, ki ga vse niti uporabljajo, pravilno sinhronizira in da ne prihaja do težav pri hkratnem dostopu pri pisanju v skupne spremenljivke. Slabost OpenMP pa je, da se niti lahko kreirajo le na enem vozlišu, ki ima v praksi od 2 - 32 jeder na voljo za paralelizacijo. OpenMP način paralelizacije je torej primeren že za zelo majhne "strojčke", kot so naši prenosniki ali celo prenosne naprave in prav to je tudi prednost OpenMP, da se lahko prav vsak preizkusi v vzporednem programiranju ne da bi pri tem potreboval drage strojne opreme.

Pri večjih zahtevah za paralelizacijo ali takrat ko že v začetku vidimo, da bo problem zahteven ga pišemo v MPI (Message passing Interface), ki je prav zaprav knjižnica za pošiljanje podatkov iz enega procesa v drugi. Procesi pa so lahko na različnih računalnikih, kar pomeni, da ni večjih omejitev glede števila procesov, ki sodelujejo pri reševanju problema. Tudi programskih jezikov je za MPI več. Kot že omenjeno, bomo poleg klasike pogledali tudi jezik Python in knjižnico MPI4Py ter primere s katerimi se bomo hkrati naučili jezika in še eksperimentirali paralelno.

Smisel HPC je običano prihraniti čas rešitve posameznega problema in orodje HPC nam to lahko bistveno pripomore. Če ga znamo uporabljati, seveda. Kampus šola HPC nam bo na "zabaven" načino pokazala kako. Udeležencem pa bomo izdali tudi potrdila o udeležbi.

Vabjeni!

Okvirni program Kampus šole HPC 2014
UraPonedeljek 7.7.Torek 8.7.Sreda 9.7.Četrtek 10.7.Petek 11.7.
Dopoldne 9:00-12:30Linux uvodPredavanja in teorija HPCHPC v praksi (NM) in simulacije (FS)Uvod v Python in MPI4Py na FS (organiziran prevoz iz NM v LJ in nazaj)Paralelni algoritmi in vizualizacija
Odmor 13:00 - 14:30KosiloKosiloKosiloKosiloKosilo
Popoldne 14:30 - ~17hLinux okolje HPCVaje HPCPraktičen preizkus dopoldanskih predavajVaje Python in MPI4Py (tudi dopoldne je praktično delo)Praktične vaje iz dopoldanske tematike

 

Podrobnejši pregled (zeleno - vaje FIŠ, svetlo modro - vaje FS)
UraPonedeljekTorekSredaČetrtekPetek
9:00 - 9:30

Sprejem na FS,

Predstavitev poletne šole,

ogled HPC,


Uvod v GNU/Linux, GUI okolja

Predstavitev HPC (video prenos v LJ),


Osnovni ukazi v C-ju,

Predstavitev MPI na HPCFS

Uporaba GPU (Abelium)

Python + MPI,

programiranje  enostavnih primerov s pošiljanem sporočil z MPI4Py,

 

Uvod v pripravo in analizo paralelnih algoritmov, Predstavitev poletne šole HiPEAC (video prenos v LJ)
9:30 - 10:00
10:00 - 10:30Problem max-klike (IJS)
10:30 - 11:00
11:00 - 11:30Molekularne simulacije bioloških makromolekul (Kemijski inštitut)

 Predstavitev PGAS prog. (X10, Chapel); Upravljanje sestavov s HPC-PUPPET (Arctur); Vizualizacija na HPC ; Predstavitev organizacije PRACE in dostopa do TIER-1 in TIER-0 superračunalnikov (Video prenos v NM)

11:30 -12:00
12:00 - 12:30Predstavitev odprtokodnih simulacijskih programov (FS)
12:30 - 13:00
13:00 - 14:30KosiloKosiloKosiloKosiloKosilo
14:30 - 15:00

Bash, AWK skripte, Uvod v programiranje,
Programski jeziki  v Linuxu

Praktični problemi preurejanja podatkov s sed, awk in  lupine bash in LSF, 

Sprejem na FIŠ, Kratek uvod v Linux, programska okolja, Vaje na HPC Vaje MPI na HPCFSVaje na HPCSimulacije na HPCFS: vaje iz CFD (Fluent, OpenFOAM)

Vaje na HPC

Zahtevnejši primeri MPI4Py z reševanjem nalog v manjših skupinahVaje iz vizuali-zacije (GNUplot, Inkscape, LLNL VisIt, ParaView, Inkscape, OpenGL, WebGL, ... )Različne vaje ter predstavite in analiza nalog študentov
15:00 - 15:30
15:30 - 16:00
16:00 - 16:30
16:30 - 17:00ZaključekZaključek
17:00 - 17:30 
17:30 - 18:00  

 - Obvestilo na UL - ARNES - SIO - Rač. novice