paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... ·...

36
Superpoˇ ıtaˇ ce Paraleln´ ı v´ ypoˇ cty ´ Uvod do paraleln´ ıho programov´ an´ ı Paralelizace numerick´ ych metod Jiˇ ı Hozman [email protected] Technick´ a univerzita v Liberci Fakulta pˇ ırodovˇ ednˇ e-humanitn´ ı a pedagogick´ a Katedra matematiky a didaktiky matematiky redn´ ska k pˇ redmˇ etu Matematika III Jiˇ ı Hozman Paralelizace numerick´ ych metod Liberec 2011 1 / 36

Upload: others

Post on 01-Mar-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Paralelizace numerickych metod

Jirı [email protected]

Technicka univerzita v LiberciFakulta prırodovedne-humanitnı a pedagogickaKatedra matematiky a didaktiky matematiky

Prednaska k predmetu Matematika III

Jirı Hozman Paralelizace numerickych metod Liberec 2011 1 / 36

Page 2: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Osnova

1 Superpocıtace

2 Paralelnı vypocty

3 Uvod do paralelnıho programovanı

Jirı Hozman Paralelizace numerickych metod Liberec 2011 2 / 36

Page 3: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

1 Superpocıtace

2 Paralelnı vypocty

3 Uvod do paralelnıho programovanı

Jirı Hozman Paralelizace numerickych metod Liberec 2011 3 / 36

Page 4: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Motivace

Mooruv zakon (platı uz pres 30 let)

Vykonnost procesoru se zdvojnasobuje kazdych 18 mesıcu.

Otazka

Je vykonnost jednoprocesorovych systemu dostatecna pro resenısoucasnych i budoucıch uloh?

Odpoved’

Nenı.

Alternativne lze vykonnost systemu zvysit (v kazde vyvojove etape)nad vykonnost 1 procesoru paralelnım zpracovanım nekolikaprocesory soucasne.

Jirı Hozman Paralelizace numerickych metod Liberec 2011 4 / 36

Page 5: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Superpocıtac

vysoce vykonny pocıtac, resp. pocıtacovy system,

relativnı oznacenı zavisle na vyvoji hardware

Superpocıtac

Paralelnı system (superpocıtac) je mnozina procesoru (pocıtacu),ktere vzajemne kooperujı a komunikujı, aby resily ”velke problemyrychle”.

systemy se sdılenou pametı (shared memory) - komunikacepomocı synchronizace procesu

systemy s distribuovanou pametı (distributed memory) -komunikace mezi procesy zasılanı zprav

systemy s hybridnım usporadanım - dnes nejcastejsı

Jirı Hozman Paralelizace numerickych metod Liberec 2011 5 / 36

Page 6: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Architektura modernıch superpocıtacu

cluster - propojenı velkeho mnozstvı jednoprocesorovychpocıtacu prostrednictvım specialnı vysokorychlostnı pocıtacovesıte

na kazdem procesoru bezı samostatne ulohy operacnıhosystemu

Jirı Hozman Paralelizace numerickych metod Liberec 2011 6 / 36

Page 7: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Architektura modernıch superpocıtacu

multiprocesorovy pocıtac - pocıtac, na kterem bezı jedensamostatny operacnı system a pouzıva vıce CPU

nevyhoda - drazsı nez cluster z beznych pocıtacu pri stejnevykonnosti

Jirı Hozman Paralelizace numerickych metod Liberec 2011 7 / 36

Page 8: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Architektura modernıch superpocıtacu

hybridnı cluster - cluster multiprocesorovych sestav (dnesnejcastejsı usporadanı)

napr. vyhledavac Google

Jirı Hozman Paralelizace numerickych metod Liberec 2011 8 / 36

Page 9: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Architektura modernıch superpocıtacu

spojenı velkeho mnozstvı beznych osobnıch pocıtacu (PC)pomocı internetu

snadno paralelizovatelne vypocty nevyzadujıcı rychloukomunikaci

projekt SETI at home

Jirı Hozman Paralelizace numerickych metod Liberec 2011 9 / 36

Page 10: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Superpocıtace ve svete

www.top500.org - zebrıcek nejvykonnejsıch pocıtacu sveta

Aktualnı poradı (2010)

1. Jaguar - Cray XT5-HE Opteron Six Core 2.6 GHz,

2. Roadrunner - BladeCenter QS22/LS21 Cluster, PowerXCell 8i3.2 Ghz / Opteron DC 1.8 GHz, Los Alamos (USA),

3. Kraken XT5 - Cray XT5-HE Opteron Six Core 2.6 GHz,National Institute for Computational Sciences/University ofTennessee (USA),

4. JUGENE - Blue Gene/P Solution, Forschungszentrum Juelich(Nemecko),

5. Tianhe-1 - NUDT TH-1 Cluster, Xeon E5540/E5450, ATIRadeon HD 4870, National SuperComputer Center in Tianjin(Cına).

Jirı Hozman Paralelizace numerickych metod Liberec 2011 10 / 36

Page 11: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Jaguar1. mısto,

Oak Ridge National Laboratory, Tennessee (USA),

model Cray (podle zakladatele Seymoura Craye),

37 376 procesoru typu Six-Core AMD Opteron 2.6 GHz,

7 832 procesoru typu Quad-Core AMD Opteron 2.6 GHz,

26 520 uzlu s celkove 255 584 jadry

Jirı Hozman Paralelizace numerickych metod Liberec 2011 11 / 36

Page 12: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Jaguar

Jirı Hozman Paralelizace numerickych metod Liberec 2011 12 / 36

Page 13: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Superpocıtace v Ceske Republice

Amalka - nejvykonnejsı paralelnı system v CR (2010)

Ustav fyziky atmosfery Akademie ved CR

356 procesoru Intel XEON (800 jader) → vykon 6, 38 TFlops

narocne numericke vypocty a experimenty v ramci spolupraces ESA a NASA

Jirı Hozman Paralelizace numerickych metod Liberec 2011 13 / 36

Page 14: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

1 Superpocıtace

2 Paralelnı vypocty

3 Uvod do paralelnıho programovanı

Jirı Hozman Paralelizace numerickych metod Liberec 2011 14 / 36

Page 15: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Paralelnı vypocty

pocıtanı na paralelnıch systemech

vyuzitı vıce nez 1 procesoru pri vypoctech

Hlavnı duvody pro paralelnı pocıtanı

pocıtacove simulace (v realnem case)

resenı problemu vetsıch rozmeru (podrobneji a presneji)

zkracenı doby vypoctu

velke naroky na pamet

nemoznost zvysovat vyvoj procesoru do nekonecna

uspornost - cena nejvykonejsıch procesoru roste rychleji nezjejich vykon

Jirı Hozman Paralelizace numerickych metod Liberec 2011 15 / 36

Page 16: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Aplikace paralelnıho resenı problemu

veda - biologie, chemie, genetika, farmacie,...

uzitı atomu - jaderne reaktory, plazma,...

vesmır - planety, hvezdy, komety,...

zdravotnictvı - protezy, proudenı krve,...

prumysl, strojırenstvı - automobily, turbıny, kompresory,...

pocası - meteorologie, hydrologie, vulkanologie, klimatologie,...

vojenske aplikace, letectvı, kosmonautika,...

CAD, robotika, kartografie,...

multimedia, pocıtacove videnı,...

internetove vyhledavace, zpracovanı dat, databaze,...

a dalsı

Jirı Hozman Paralelizace numerickych metod Liberec 2011 16 / 36

Page 17: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Pocıtacove simulace

od konce 40. let 20. stoletı

parcialnı diferencialnı rovnice (a jejich systemy)

nemoznost nalezt analyticka resenı

levnejsı alternativa k narocnym fyzikalnım experimentum

numericke metody

napr. obtekanı raketoplanu, modelovanı jaderne reakce

Jirı Hozman Paralelizace numerickych metod Liberec 2011 17 / 36

Page 18: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Motivace - aplikace v letectvı (1)

obtekanı krıdla ONERA M6 (KNM MFF UK)

Jirı Hozman Paralelizace numerickych metod Liberec 2011 18 / 36

Page 19: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Motivace - aplikace v letectvı (2)

rozlozenı Machova cısla

Jirı Hozman Paralelizace numerickych metod Liberec 2011 19 / 36

Page 20: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Motivace - aplikace v letectvı (3)

vypocetnı cas programu ADGFEM na clusteru Snehurka

# procesor 2 3 4 5 6 7 8

cas [s] 19 645 9 292 4 999 3 751 2 813 2 007 1 501

Jirı Hozman Paralelizace numerickych metod Liberec 2011 20 / 36

Page 21: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Motivace - vyhledavac Google

katalogizace internetovych stranek

v roce 2000 resı ∼ 1000 dotazu/s → 70 mil./den

cıl - vyhledavanı < 0.5 s

aktualizace webu kazde 4 tydny - 1.3 miliardy URL(+60% anotacı) → datovy tok 53 Mb/s

pocet dotazu roste o 20% mesıcne

pocatecnı sestava > 6000 procesoru

vzdy k dispozici (+3 zaloznı systemy)

numericke metody - iteracnı resenı stochastickych matic oradu odpovıdajıcımu poctu internetovych stranek

Jirı Hozman Paralelizace numerickych metod Liberec 2011 21 / 36

Page 22: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

1 Superpocıtace

2 Paralelnı vypocty

3 Uvod do paralelnıho programovanı

Jirı Hozman Paralelizace numerickych metod Liberec 2011 22 / 36

Page 23: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Modely paralelnıch architektur

Flynovo rozdelenı podle poctu proudu instrukcı a dat:

SISD - Single Instruction, Sigle Data stream(sekvencnı pocıtace)

SIMD - Single Instruction, Multiple Data stream(datove paralelnı systemy)

MIMD - Multiple Instruction, Multiple Data stream(plne paralelnı systemy)

sdılena pamet’, komunikace pres sdılene promennedistribuovane pamet’, komunikace zasılanım zpravhybridnı usporadanı - distribuovana sdılena pamet

Jirı Hozman Paralelizace numerickych metod Liberec 2011 23 / 36

Page 24: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Druhy paralelnıch uloh

Paralelnı ulohy z hlediska spoluprace behem vypoctu:

MPMD (Multiple Program, Multiple Data) ulohy

Master/Worker Coupled Multiple Analysis

SPMD (Single Program, Multiple Data) ulohy

Jirı Hozman Paralelizace numerickych metod Liberec 2011 24 / 36

Page 25: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

SPMD ulohy

stejna kopie programu (single program) na vsech CPU

behem vypoctu zpracovavajı ruzna data (multiple data)

typicke pro numericke vypocty

predmet naseho zajmu

Jirı Hozman Paralelizace numerickych metod Liberec 2011 25 / 36

Page 26: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Modely paralelnıho programovanıautomaticka paralelizace programu kompilatorem

nejpohodlnejsı pro programatoranejslabsı propracovanost a nızka efektivita

datove paralelnı programovanı - sekvencnı program rıdıparalelnı operace

vyzaduje mensı zainteresovanost programatoranapr. HPF (High Performance Fortran)

programovanı se sdılenymi promennymi (vlakny)automaticke prenosy dat, komunikace pomocı synchronizacesekvencnı program lze paralelizovat postupne odnejkritictejsıch mıst → vysoka efektivitavetsı pozadavky na programatora, napr. OpenMP

programovanı zasılanım zprav (message passing)komunikace pomocı explicitnıch prıkazu (send, receive)vyzaduje rozclenenı a distribuci dat a prace mezi procesory→ vysoka efektivitanejvyssı mıra zainteresovanosti programatora, napr. MPI

Jirı Hozman Paralelizace numerickych metod Liberec 2011 26 / 36

Page 27: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Problemy s vyvojem paralelnıch systemu

hardware - dva prıstupy

saturace sbernice - omezenı pri konstrukci multiprocesorusdılejıcı spolecnou pamet na maximalnı pocet desıtek procesoruswitch - rychla komunikacnı sıt spojujıcı pocıtace do clusteru,rychlost meziprocesorove komunikace ∼ rychlost komunikacemezi CPU a vnitrnı pametı

algoritmy - algoritmy pro sekvencnı programy nelze vzdy dobreparalelizovat → nutnost vytvaret nove paralelnı algoritmy

software - automaticke kompilatory ci paralelnı numerickeknihovny nedosahujı vzdy vysoke efektivity

Jirı Hozman Paralelizace numerickych metod Liberec 2011 27 / 36

Page 28: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Vykonost paralelnıho zpracovanı

ukazatelem doba vypoctu (computational time, c.t.) [µs]

Amdahluv zakon

100− P +P

n[%]

P...cast programu, kterou lze paralelizovat

n...pocet pouzitych CPU

pomerne porovnanı vypoctoveho casu oproti casu najednoprocesorovemu pocıtaci

neplatı prıma umernost mezi poctem CPU a zrychlenım

pro n →∞ je zrychlenı vypoctu

100

100− P

Jirı Hozman Paralelizace numerickych metod Liberec 2011 28 / 36

Page 29: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Sekvencnı program vs. paralelnı program

Sekvencnı program Paralelnı program

Jirı Hozman Paralelizace numerickych metod Liberec 2011 29 / 36

Page 30: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Motivace - doba vypoctu

soucet prvku vektoru ~a ∈ IR109: s =

∑109

i=1 ai

zatızenı jednoho CPU

akce input sum ouput

vytızenı CPU [%] 6 90 4

pouze vypocet souctu lze paralelizovat → P = 90%

zrychlenı podle poctu CPU

CPU 1 2 3 4 5 6 7 8

zrychlenı [%] 100 55 40 32.5 28 25 22.9 21.3

Jirı Hozman Paralelizace numerickych metod Liberec 2011 30 / 36

Page 31: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Zavislost paralelizace na architekture systemu (1)

Sdılena pamet’ (shared memory)

snazsı paralelizace, male zasahy do sekvencnıho programu

sdılenı a vymena informacı mezi CPU pres spolecnou pamet’

napr. OpenMP

Jirı Hozman Paralelizace numerickych metod Liberec 2011 31 / 36

Page 32: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Zavislost paralelizace na architekture systemu (2)

Distribuovana pamet’ (distributed memory)

univerzalnejsı, narocnejsı na predstavivost

komunikaci a sdılenı dat mezi CPU zajistuje switch

zajistit a pracovat s predavanım informacı (message passing)

napr. MPI (Message Passing Interface)

Jirı Hozman Paralelizace numerickych metod Liberec 2011 32 / 36

Page 33: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Zavislost paralelizace na architekture systemu (3)

Distribuovana pamet’ (distributed memory)

komunikace = casova ztrata → snızenı zrychlenı vypoctu

latence - casova prodleva pri komunikaci mezi CPU a switch

snaha o minimalnı prenos informacı a komunikaci

Jirı Hozman Paralelizace numerickych metod Liberec 2011 33 / 36

Page 34: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Standard OpenMP

aplikacnı programove rozhranı (API) pro Fortran nebo C/C++

programovanı paralelnıch pocıtacu se sdılenou pametı

jednoduchost, prenositelnost, rozsiritelnost

seznam direktiv, knihovnıch funkcı a promennych prostredı

sekvencnı jazyk s direktivami pro kompilator → podmınenypreklad - sekvencnı i paralelnı zpracovanı

inkrementalnı postup pri paralelizaci programu

vlakno OpenMP - zakladnı stavebnı prvek

zacatek s jednım vlaknem, ktere se rozvetvı na vetsı pocetvlaken v paralelnı sekci programu, konec opet s jednımvlaknem

komunikace mezi vlakny = zapis a ctenı ve sdılene pameti →synchronizace prıstupu jednotlivych vlaken ke sdılenympromennym

Jirı Hozman Paralelizace numerickych metod Liberec 2011 34 / 36

Page 35: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Standard MPI (Message Passing Interface)

specifikace knihovnıch funkcı a podprogramupro Fortran a C/C++

paralelnı programovanı zasılanım zprav

komplexnejsı, vetsı prenositelnost programu a vyssı rychlost

prvnı standard v komunikaci paralelnıch systemu

sekvencnı programovacı jazyk + knihovna (externıch) funkcıpro zasılanı zprav → prostredı pro paralelnı pocıtanı naclusterech

od zacatku se vyvijı paralelnı program

proces a komunikator - zakladnı stavebnı prvky

resenı SPMD uloh

sprava a tvorba procesu - staticke a dynamicke

interakce procesu - komunikace, agregace, synchronizace

Jirı Hozman Paralelizace numerickych metod Liberec 2011 35 / 36

Page 36: Paralelizace numerických metodkmd.fp.tul.cz/images/stories/vyuka/hozman-matematika3-fs/... · 2013. 4. 20. · nemoˇznost nal´ezt analytick´a ˇreˇsen´ı levnejˇs´ı alternativa

SuperpocıtaceParalelnı vypocty

Uvod do paralelnıho programovanı

Paralelnı program v MPI pro Fortran

program par hello worlduse mpiimplicit none

integer :: ierr, nprocs, myrank

call MPI INIT(ierr)

call MPI COMM SIZE(MPI COMM WORLD, nprocs, ierr)

call MPI COMM RANK(MPI COMM WORLD, myrank, ierr)

print∗," Hi from CPU ", myrank, " of ", nprocs

call MPI FINALIZE(ierr)end program par hello world

Jirı Hozman Paralelizace numerickych metod Liberec 2011 36 / 36