GPU Lab. 15. fejezet. Nehezen párhuzamosítható szimulációk. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

Hasonló dokumentumok
A Geant4 használatának alapjai

Rekonstrukciós eljárások. Orvosi képdiagnosztika 2017 ősz

Töltött részecske multiplicitás analízise 14 TeV-es p+p ütközésekben

Magas szintű optimalizálás

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

Grafikus csővezeték 1 / 44

Röntgensugárzás az orvostudományban. Röntgen kép és Komputer tomográf (CT)

Bevezetés a modern fizika fejezeteibe. 4. (e) Kvantummechanika. Utolsó módosítás: december 3. Dr. Márkus Ferenc BME Fizika Tanszék

Bevezetés a programozásba. 5. Előadás: Tömbök

Számítógépek felépítése

Theory hungarian (Hungary)

Orvosi Biofizika I. 12. vizsgatétel. IsmétlésI. -Fény

AliROOT szimulációk GPU alapokon

Részecske azonosítás kísérleti módszerei

Radioaktív sugárzások tulajdonságai és kölcsönhatásuk az elnyelő közeggel. A radioaktív sugárzások detektálása.

Termék modell. Definíció:

Monte Carlo módszerek fejlesztése reaktorfizikai szimulációkhoz

Megmérjük a láthatatlant

Detektorok. Siklér Ferenc MTA KFKI Részecske- és Magfizikai Kutatóintézet Budapest

Úton az elemi részecskék felé. Atommag és részecskefizika 2. előadás február 16.

Gyorsítók. Veszprémi Viktor ATOMKI, Debrecen. Supported by NKTH and OTKA (H07-C 74281) augusztus 17 Hungarian Teacher Program, CERN 1

Paritássértés FIZIKA BSC III. MAG- ÉS RÉSZECSKEFIZIKA SZEMINÁRIUM PARITÁSSÉRTÉS 1

Az expanziós ködkamra

ODE SOLVER-ek használata a MATLAB-ban

Világító diódák emissziójának szimulációja Monte Carlo sugárkövetés módszerével

A hosszúhullámú sugárzás stratocumulus felhőben történő terjedésének numerikus modellezése

A tau lepton felfedezése

Részecskefizikai gyorsítók

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Videókártya - CUDA kompatibilitás: CUDA weboldal: Példaterületek:

Párhuzamos és Grid rendszerek

Modern fizika vegyes tesztek

A Nukleáris Medicina alapjai

Magspektroszkópiai gyakorlatok

Informatika Rendszerek Alapjai

CERN: a szubatomi részecskék kutatásának európai központja

Az ipari komputer tomográfia vizsgálati lehetőségei

2014/2015. tavaszi félév

Radioaktivitás és mikrorészecskék felfedezése

Neutrinódetektorok és részecske-asztrofizikai alkalmazásaik

A részecskefizika kísérleti eszközei

Plakátok, részecskerendszerek. Szécsi László

NA61/SHINE: Az erősen kölcsönható anyag fázisdiagramja

ÁRAMKÖRÖK SZIMULÁCIÓJA

Radioaktív sugárzások tulajdonságai és kölcsönhatásuk az elnyelő közeggel. A radioaktív sugárzások detektálása.

GPU alkalmazása az ALICE eseménygenerátorában

Flynn féle osztályozás Single Isntruction Multiple Instruction Single Data SISD SIMD Multiple Data MISD MIMD

Detektorok. Fodor Zoltán. MTA Wigner FK RMI. Hungarian Teachers Programme 2012

Az optika tudományterületei

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

HLSL programozás. Grafikus játékok fejlesztése Szécsi László t06-hlsl

minipet labor Klinikai PET-CT

Számítás(technika) a fizikában

Detektorok. Fodor Zoltán MTA-KFKI Részecske és Magfizikai Kutató Intézete. Hungarian Teachers Programme 2010 CERN

Sugárzások kölcsönhatása az anyaggal

Annak a function-nak a neve, amiben letároltuk az egyenletünket.

Röntgenanalitika. Röntgenradiológia, Komputertomográfia (CT) Röntgenfluoreszcencia (XRF) Röntgenkrisztallográfia Röntgendiffrakció (XRD)

Erős terek leírása a Wigner-formalizmussal

Bevezetés a részecskefizikába

Zajok és fluktuációk fizikai rendszerekben

A 3D képgenerálás komplexitása

CMS Pixel Detektor működése

GPGPU alapok. GPGPU alapok Grafikus kártyák evolúciója GPU programozás sajátosságai

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

Vizuális adatelemzés - Gyakorlat. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Pásztázó elektronmikroszkóp. Alapelv. Szinkron pásztázás

Z bozonok az LHC nehézion programjában

Mozgásmodellezés. Lukovszki Csaba. Navigációs és helyalapú szolgáltatások és alkalmazások (VITMMA07)

A gamma-sugárzás kölcsönhatásai

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Logisztikai szimulációs módszerek


Az ionizáló sugárzások fajtái, forrásai

Matematika. 9.osztály: Ajánlott tankönyv és feladatgyűjtemény: Matematika I-II. kötet (Apáczai Kiadó; AP és AP )

A fény mint elektromágneses hullám és mint fényrészecske

Abszolút és relatív aktivitás mérése

Feladatok: pontdiagram és dobozdiagram. Hogyan csináltuk?

DIGITÁLIS KÉPANALÍZIS KÉSZÍTETTE: KISS ALEXANDRA ELÉRHETŐSÉG:

Függvények ábrázolása

Az informatika kulcsfogalmai

Lakos István WESSLING Hungary Kft. Zavaró hatások kezelése a fémanalitikában

3D számítógépes geometria 2

Tantárgy neve. Környezetfizika. Meghirdetés féléve 6 Kreditpont 2 Összóraszám (elm+gyak) 2+0

11. tétel - Elektromágneses sugárzás és ionizáló sugárzás kölcsönhatása kondenzált anyaggal, áthatolóképesség, záporjelenségek.

Spektrográf elvi felépítése. B: maszk. A: távcső. Ø maszk. Rés Itt lencse, de általában komplex tükörrendszer

Algoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE

Függvények növekedési korlátainak jellemzése

Compton-effektus. Zsigmond Anna. jegyzıkönyv. Fizika BSc III.

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

19. A fényelektromos jelenségek vizsgálata

Adatbányászati szemelvények MapReduce környezetben

Fraktálok és káosz. Szirmay-Kalos László

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

A sötét anyag nyomában. Krasznahorkay Attila MTA Atomki, Debrecen

Geometriai és hullámoptika. Utolsó módosítás: május 10..

Matematika osztályozó vizsga témakörei 9. évfolyam II. félév:

Röntgendiagnosztikai alapok

KÖZELÍTŐ INFERENCIA II.

Sugárzások és anyag kölcsönhatása

Termográfiai vizsgálatok

Átírás:

15. fejezet Nehezen párhuzamosítható szimulációk Grafikus Processzorok Tudományos Célú Programozása

Jól párhuzamosítható szimulációk Ha megnézzük az eddigi példákat (valamint a beadandókat) akkor a következőt látjuk: A feladatok vagy triviálisan párhuzamosak: Semmi kölcsönhatás az elemek között Előre tudható az indítandó szálak száma Előre tudható a bemenet, kimenet mérete, azaz Minden memóriát előre le tudunk foglalni Ez lefedi kb. a következő feladatokat: Lineáris algebra Fix méretű rácsos szimulációk (életjáték, Ising jellegű szim., PDE-k) ODE rendszerek, ha csak a végeredményre vagyunk kíváncsiak

Rosszul párhuzamosítható szimulációk Mi történik, ha nem tudjuk előre, hány szál lesz, illetve időnként nagyon kevés van belőlük? Tipikus példa: reduce: Pl.: Hosszú adatsor felösszegzése Háromszög jellegű Mátrix manipulációk pl.: Gauss elim, LU-dekomp. Amikor fogy az adathalmaz mérete, egyre kevesebb szál indítható, és egy pont után a GPU jó része nem kap feladatot, a kevés szál egyre kevésbé hatékonyan tud dolgozni Amit lehet tenni, hogy amikor már relatíve kevés az adat, akkor CPU-n végezni a reduce végét. for(int i=0; i<n; i++) { for(int j=0; j<i; j++) { A[i][j] =... } }

Rosszul párhuzamosítható szimulációk Mi történik, ha a kódunk egészen változatos lefutású lehet különböző paraméterek esetén? Tipikus eset: Hosszú program sok if-el és/vagy switch-el Példa: Adaptív Runge-Kutta A szálak közötti divergencia jelentősen rontja a teljesítményt Mit lehet tenni? Ha legalább workgroup szinten csoportosítani tudjuk a szálakat (pl. közösen számolják a hibát

Rosszul párhuzamosítható szimulációk Mi történik, ha nagyon sok a kölcsönhatás? Tipikus példa: nem-determinisztikus reduce (futás idejű értéktől függő döntést kell hozni) Adatsor hisztogramozása Monte-Carlo beütések regisztrálása Sok szál akar viszonylag kevés változót, de random access! Az eredmény: rengeteg írás ütközés és/vagy várakozások Ha sokat kell szinkronizálni, akkor az a teljesítmény rovására megy.

Rosszul párhuzamosítható szimulációk Mi történik, ha nem rendezett az írás-olvasás: Tipikus példa: Fourier transzformáció A rendezetlen (nem-koaleszkált) írások-olvasások drasztikusan csökkentik a memória elérés sebességét

Rosszul párhuzamosítható szimulációk Mi történik, ha nem tudjuk előre az adatok méretét?! Ez a legjobban fájó pont! Nincs dinamikus memória allokálás (kiv. CUDA) De semmiképpen nem hatékony (geometry shadert sem használja senki ) Kicsit részletesebben megnézünk két példát: Raytrace és Particle Transport

Raytrace Számolnivaló: A render egyenlet megoldása Monte-Carlo integrálással Teljes megvilágítottság Emisszió Félgömb irányintegrál a bejövő sugarakra Kétirányú visszaverést leíró függvény (BRDF) Bejövő megvilágítottság A beesési szög miatti gyengülés

Raytrace Számolnivaló: A kamerából sugarakat indítani Megkeresni a legközelebbi metszett felületet Betölteni a shadert + textúrákat Végrehajtani a programot Eldönteni, hogy milyen irányba hány új sugarat kell indítani Mindezt ismételni, amíg a Kép elég jó nem lesz (Monte-Carlo zaj csökkentése)

Raytrace Mi a baj? -minden! A sugarak divergensek, nem igazán lehet tudni, mibe fognak ütközni, sőt, egyre több lesz belőlük, de nem lehet tudni mennyi A textúrák nem férnek bele a memóriába, állandóan ki-be kell töltögetni őket A shadereket vagy egy nagy kezelhetetlenül bonyolult shaderbe írják elágazásokkal switchekkel stb-vel vagy Rengeteg apró shadert használnak, amiket megint ki-be kell töltögetni

Raytrace Mi a baj? Az egész logikai örökség eleve CPU terhelt. A legtöbb filmet még mindig CPU-s renderfarmokon számolják ( és a szomszéd lakótelepet és az irodákat fűtik a hőjével )

Raytrace Mit lehet tenni? Csoportosítás! Ha össze lehetne szedni elég sok részecskét, amiknek ugyan az a shader és textúra kell, akkor lehet növelni a hatékonyságot Ray-packeting: Akár azonos irányba tartás, Akár Material access alapján lehet őket csoportokba gyűjteni

Raytrace Mit lehet tenni? Gyorsító struktúrák a metszéspont megtalálás hatékonyabbá tételére. Valamilyen fastruktúra célszerű Általában az iparban a Bounding Volume Hierarchy használt.

Particle transport Az alapprobléma: A nagyenergiás fizikában, orvostudományokban sokszor szükség van az elemi részecskék anyaggal való kölcsönhatásának modellezésére, főleg azért, hogy a detektorok viselkedését, szisztematikus hibáit előre meg lehessen határozni Példák: LHC és más gyorsítók kísérleteiben a különböző fizikai elveken működő detektorok megértése, és a bennük mért adatokból az elemi részecskék pályáinak rekonstruálása Sugárterápiás, Tomográfiás rendszerek tervezése, a mérésekből a rendellenes területek meghatározása

Particle transport

Pozitron Emissziós Tomográfia

Particle transport Mi a gond? Szinte minden, mint a raytrace-nél! Nem lehet tudni előre, hány részecske keletkezik, mert bomlanak, vagy keltődnek Nem lehet tudni merre mennek, mert kanyarodnak a mágneses térben, szóródnak az anyagon, bomlásnál szétrepülnek. Mindezek bonyolultan függnek a részecskék paramétereitől A detektorok helyenként μm-es felbontással vannak modellezve hatalmas méretű geometria A fizikai kölcsönhatásokból rengeteg van, ezeknek a valószínűségei sokszor csak táblázatosan érhetőek el, ez is hatalmas adathalmaz!

Particle transport Geant4 fizikai modellek: Elektromágneses (ionizáció, fékezési sug., fotoelektromos eff., párkeltés, szórás, annihiláció, Hadronikus (reakciós hatáskeresztmetszetek, abszorpció, befogás, rugalmasrugalmatlan szórások, hasadás) Bomlások (mindenr észecske lényegében minden bomlási csatornájára) Fotolepton-Hadron (gamma, lepton, neutrínó indukált folyamatok) Optikai (hullámjelenségek, Cherenkov, különböző felületekkel való kölcsönhatás, hullámhossz eltolódás, szintilláció)

Particle transport Megoldások: hasonlóak, mint a raytrace-nél: Csoportosítás: azonos, vagy ugyanarra menő részecskék: basketekbe tétele Nagyon okos scheduler, aki váltogat a basketek között, hogy melyik hozzátartozó adatok érhetőek éppen el, melyik szálak számoljanak Néha 1-1 részecskénél a csoportosított változat lassabb az overhead miatt, ekkor single particle transport. A leghatékonyabban mintavételezhető tárolása a fizikai folyamatoknak (tabuláció+interpoláció vs parametrizáció/fit). Hierarchikus geometriai modell

Tanulság Ezek a problémák lehetetlenül bonyolultnak és párhuzamosíthatatlannak tűnnek Mégis rengetegen dolgoznak azon, hogy megírják hatékonyan GPU-kra őket Az alap trükk a tarsolyban a hierarchikus probléma feldarabolás és tárolás (oszd meg és uralkodj) illetve a megfelelő csoportosítása az erőforrásoknak, illetve az erőforrásokat használó részeknek