Adatfolyam alapú RACER tömbprocesszor és algoritmus implementációs módszerek valamint azok alkalmazásai parallel, heterogén számítási architektúrákra Témavezet : Dr. Cserey György 2014 szeptember 22.
Kit zött feladatok - motiváció Moore törvény: a magok száma is exponenciálisan n Sokmagos SIMD rendszereket nehéz programozni GPU, FPGA, Cell BE, Intel MIC Az OpenCL nem oldja meg a párhuzamosítási problémát Matematikailag megalapozott módszerre van szükség Megfelel reprezentáció esetén automatikus párhuzamosítás is lehetséges
Kit zött feladatok Módszer keresése az algoritmus párhuzamosításra Párhuzamosítható algoritmus osztályok Hatékony tömbprocesszor architektúrák keresése konkrét problémák vizsgálata
Kit zött feladatok Módszer keresése az algoritmus párhuzamosításra Párhuzamosítható algoritmus osztályok Hatékony tömbprocesszor architektúrák keresése konkrét problémák vizsgálata
Használt vizsgálati módszerek Statikus ciklus szerkezetek analízise Polihedrális megközelítés Ciklusok mint sokdimenziós konvex testek Adat és vezérlési folyam analízise for ( int i = 0; i < n; i ++) for ( int j = 0; j < m; j ++) { int sum = array [i ][ j ]; if ( i > 0) sum += array [i -1][ j]; if (j > 0) sum += array [i ][j -1] ; if ( i > 0 and j > 0) sum -= array [i -1][ j -1] ; array [i ][ j] = sum ; }
Megismert és használt GPU rendszerek Gépi kódú programozás Részletes hardver ismeretek NVIDIA GeForce8 NVIDIA Fermi NVIDIA Kepler AMD(ATI) R800(Evergreen) AMD(ATI) R900(NI Cayman) AMD(ATI) R1000(Southern Islands GCN)
Integrál levezetésben alapul vett algoritmusok Két-elektron integrál Folytonos hullámfüggvények és diszkrét mátrixok közötti kapcsolat Leginkább számításigényes számolni Kvantumkémiában alapvet Boys Pople-Hehre Obara-Saika-Schlegel Head-Gordon-Pople McMurchie-Davidson Az ezekre épül MD-PRISM, HGP-PRISM Gauss-Rys kvadratúra
Megismert kvantumkémiai algoritmusok Önkonzisztens Mez (Self Consistent Field : SCF) Hartree-Fock S r ség Funkcionál Elmélet (Density Functional Theory : DFT) Møller-Plesset Perturbációs Elmélet (Møller-Plesset Perturbation Theory : MPPT) Konguráció interakció (Conguration Interaction : CI) Csatolt Csoport számítás (Coupled Cluster computation : CC)
I. Téziscsoport Tézis Megmutattam, hogy sokmagos rendszerek programozása során a klasszikus statikus polihedrális reprezentáción felül, megvalósítható a dinamikus ciklusok és dinamikus vezérl szerkezetek polihedrális reprezentációja is. Dinamikus polihedronok esetén formalizmust adtam arra, hogy hogyan érdemes kezelni a memória hozzáférési mintázatot. Deniáltam azokat az algoritmus osztályokat, melyeket hatékonyan lehet kezelni módszereimmel. A cél, lehet vé tenni az automatikus párhuzamosítást Manuálisan is hatékonyak lehetnek a módszerek Automatikusan párhuzamosítható algoritmus osztály b vítése Memória hozzáférés sebességének javítása
I. Téziscsoport
I. Téziscsoport Ciklusszerkezeteket geometriailag tudunk átalakítani Kib vítettem a reprezentációt, hogy bizonyos dinamikus vezérl szerkezetek is reprezentálhatóak legyenek
I. Téziscsoport Az általam adott formalizmus támpontot nyújt a GPU local memory hatékony kezelésére A módszer jelent sen lecsökkenti a keresési teret, így akár automatikusan bejárható
II. Téziscsoport Tézis Egy új adatfolyam elv párhuzamos számítógépes architektúrát (RACER) terveztem, melyben a funkciók az eddigi megoldásoknál hatékonyabban vannak szétosztva a memória és a feldolgozó egységek között és ennek a megvalósításához a párhuzamosítás kiterjed a memóriára is. A memória aktív számítási egység, de azt csinálja amire a leghatékonyabb A számítási egységek így sokkal egyszer bbek, és jóval kevesebb helyi memóriát tartalmaznak Magas számítási er és magas memóriamozgatási sebesség egyszerre elérhet
II. Téziscsoport Adatfolyam alapú adatfeldolgozó tömbprocesszor A program helyben marad, az adatfolyam mozog A program el ször az adatfolyammal jön, amit követ az adat Vezérl szerkezeteket adatfolyam vezérelt multiplexerekkel lehet megvalósítani
II. Téziscsoport 1. Altézis Megmutattam, hogy vezérl elektronika és huzalozás egyszer sége és lokalitása miatt, integrált áramköri megvalósítás esetén a felület 57-72%-át a feldolgozó aritmetikai egységek foglalják el, ezzel adott felületen az egyik legmagasabb aritmetikai s r ség érhet el a GPU architektúrákhoz viszonyítva. Egyszer bb, aszinkron órajel Lokális huzalozás, mivel az architektúra lokális Kevés lokális memória a feldolgozó elemekben Nagy számítási kapacitás kis felületen
II. Téziscsoport 2. Altézis Megmutattam hogy a RACER képes hatékonyan megoldani a Mandelbrot és Conway's életjáték algoritmusok végrehajtását is, miközben általános architektúra marad. Az implementált algoritmusokkal demonstráltam az architektúra m köd képességét, valamint bizonyítottam, hogy az architektúra Turing-teljes. Egy algoritmus lehet memória és/vagy számítás intenzív A RACER memóriája kizárólag a memória intenzív feladatokat tudja hatékonyan végrehajtani A RACER tömbprocesszorra kizárólag a számítás intenzív részeket tudja hatékonyan végrehajtani Így ideálisan lehet szétosztani az algoritmust részeire
II. Téziscsoport: Szimuláció Mandelbrot példaprogram, iteratív megoldás NVIDIA Tesla GPU C2050: 1.5ns / pixel Teljes RACER tömbprocesszor: 0.2ns / pixel Feladat jól illeszkedik mindkét architektúrához Közel 100% kihasználtság mindkét esetben lehetséges
ábra: Bemeneti memória kiürülése, és kimeneti memória betölt dése az órajelciklusok függvényében
III. Téziscsoport Tézis Az általam kidolgozott módszereket felhasználtam kvantumkémiai integrál számítási algoritmusok gyorsítására és párhuzamosítására, különös tekintettel a Single Instruction Multiply Data (SIMD) architektúra kompatibilitásra. GPU architektúrára meta algoritmust (BRUSH) terveztem, ami kiválasztja az integrálokhoz tartozó optimális számítási útvonalat. Megmutattam, hogy speciális kontrakciók esetén konstans behelyettesítés és terjesztés hatékony az ilyen architektúrákon. A két-elektron integrálok számolása alapvet és gyakran sebesség meghatározó lépés a kvantum kémiában Els sorban SIMD vektorgépekre koncentráltam elterjedtségük miatt GPU, Intel MIC
III. Téziscsoport Két-elektron integrál ϕ ak (r) = (r x A x ) ax (r y A y ) ay (r z A z ) az e α k r A 2 1 [ak b i cm d n] = ϕ ak (r1)ϕ bl (r1) r1 r2 ϕ cm(r2)ϕ dn (r2)d r1d r2 r 1 r 2 Improprius integrál: végtelen téren értelmezve, altéren felveszi a végtelen értéket 1 0 Két térkoordináta szerinti integrál, azaz 6 tengely mentén A Gauss függvény integrálja sorfejtéssel könny, de az anguláris polinom ezt jelent sen megnehezíti
III. Téziscsoport PRISM Gauss integrál számító algoritmust vettem alapul Magas szinten az algoritmus lényege, hogy egy körmentes gráfon megoldási utakat keres. Egy út ebben a gráfban felel meg egy rekurzív levezetésnek Kib vítettem ezt a gráfot a GPU-nak megfelel en GPU esetén a rekurzió fordítási idej levezetése az el nyös a SIMD rendszer miatt
Eredmények alkalmazási területei - I. Téziscsoport Program párhuzamosítás GPU és FPGA rendszerekre Automatikusan párhuzamosító fordítóprogramok Program algoritmus osztályának automatikus detektálása A II. téziscsoportban deniált architektúra programozásának segítése A III. téziscsoport témájában
Eredmények alkalmazási területei - II. Téziscsoport Grakus 3D megjelenítés Sugárkövetés (raytracing) Strukturálatlan griden tudományos számítások Kvantumkémia Adatbázisok feldolgozása
Eredmények alkalmazási területei - III. Téziscsoport Két-elektron integrál számításának gyorsítása GPU-kon A numerikus kvantumkémia számos algoritmusának gyorsítása
Folyóirat publikációk A. Rák and G. Cserey, The BRUSH algorithm for two-electron integrals on GPU, MATCH Communications in Mathematical and in Computer Chemistry, 2014. submitted. A. Rák and G. Cserey, Macromodeling of the memristor in SPICE, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 29, no. 4, pp. 632636, 2010. A. Rák, G. Gandhi, and G. Cserey, Chua's circuit topology evolution using genetic algorithm, International Journal of Bifurcation and Chaos, vol. 20, no. 3, pp. 687696, 2010. A. Rák, G. B. Soós, and G. Cserey, Stochastic bitstream based CNN and its implementation on FPGA, International Journal of Circuit Theory and Applications, vol. 37, no. 4, pp. 587612, 2009. G. B. Soós, A. Rák, J. Veres, and G. Cserey, GPU boosted CNN simulator library for graphical ow based programmability, EURASIP Journal on Advances in Signal Processing, 2009. Article ID 930619, 11 pages doi:10.1155/2009/930619.
Konferencia publikációk A. Rák, G. Feldhoer, G. B. Soós, and G. Cserey, Standard C++ Compiling to GPU with Lambda Functions, in Proceedings of 2010 International Symposium on Nonlinear Theory and its Applications (NOLTA 2010), (Krakow, Poland), 2010. A. Rák, G. Feldhoer, G. B. Soós, and G. Cserey, Standard c++ compiling to GPU, in 3rd HUNGARIAN-SINGAPOREAN WORKSHOP on SYSTEMS BIOLOGY and COMMUNICATION SYSTEMS, (Budapest, Hungary), 2010. A. Rák, G. Feldhoer, G. B. Soós, and G. Cserey, CPU-GPU hybrid compiling for general purpose: Case studies, in Proceedings of 12th International Workshop on Cellular Neural Networks and their Applications, CNNA 2010, (Berkeley, USA), Feb. 2010. G. Cserey, A. Rák, B. Jákli, and T. Prodromakis, Cellular neural networks with memristive cell devices, in Proceedings of 17th IEEE International Conference on Electronics, Circuits, and Systems, ICECS 2010, (Athens, Greece), pp. 938941, Dec. 2010.
Konferencia publikációk G. B. Soós, A. Rák, J. Veres, and G. Cserey, GPU powered CNN simulator (SIMCNN) with graphical ow based programmability, in Proceedings of 11th International Workshop on Cellular Neural Networks and their Applications, CNNA 2008, (Santiago de Compostela, Spain), pp. 163168, 2008. G. J. Tornai, G. Cserey, and A. Rák, Spatial-temporal level set algorithms on CNN-UM, in Proceedings of 2008 International Symposium on Nonlinear Theory and its Applications, NOLTA 2008, (Budapest, Hungary), pp. 696699, 2008.
Szabadalmak A. Rák and G. Cserey, Számítógépes architektra és feldolgozási eljárás. Hungarian patent (beadott PCT), 2012. A. Rák, and Feldhoer, G., and Soós, G.B. and Höltzl, T., and Oroszi, B. and Cserey, György, Eljárás és rendszer integrál kiszámításának párhuzamos architektúra szálára való leképezésére. Hungarian and PCT patent, 2012. 2013. G. Cserey and A. Rák, High accuracy time-to-digital converter on FPGA. Hungarian patent, 2009. A. Rák, G. Cserey, and B. Jákli, Eszköz és eljárás mért jel id beliségének meghatározására. PCT patent, 2013.
GPU H.264 teszteredmények Egyszerre valós id ben transzkódolható képfolyamok száma: 25fps X264, Intel i7 960 Saját implementáció GTX 580-on Bejöv képfolyamok 12 22 800x600 Kimen képfolyamok 48 88 640x480(QP=26) 640x480(QP=28) 320x240(QP=26) 160x120(QP=26) Egy bemeneti képfolyamból több kódolódik Különböz felbontásúak és min ség ek a kimen képfolyamok Valós idej, 25 kép/másodperces feldolgozás
GPU H.264 teszteredmények 25fps X264, Intel i7 960 Saját implementáció GTX 580-on Bejöv képfolyamok 10 18 960x720 Kimen képfolyamok 40 72 640x480(QP=26) 640x480(QP=28) 320x240(QP=26) 160x120(QP=26)
RACER VLSI implementációs becslések Technológiai Órajel Felület Összes Órajel elosztó Dupla pontosságú Feldolgozó Összeköt méret frekvencia fogyasztás fogyasztása sebesség felület aránya felület aránya 90nm 400MHz 561mm 2 224W 42W 819GFLOPS 72% 21% 90nm 600MHz 564mm 2 454W 81W 1229GFLOPS 72% 21% 65nm 500MHz 355mm 2 226W 34W 1024GFLOPS 70% 21% 65nm 600MHz 369mm 2 280W 46W 1229GFLOPS 67% 20% 65nm 700MHz 436mm 2 330W 60W 1434GFLOPS 57% 17% InCyte programmal készült becslések Az órajelek a fogyasztás alapján lettek megválasztva Az órajel elosztó hálózat valószín leg kivonható a teljes fogyasztásból Magas a felületaránya a feldolgozó egységeknek
RACER becslések összehasonlítása GPU-kkal GPU Technológiai Legközelebbi Egyszeres pontosságú Dupla pontosságú Fogyasztás név méret becslésre használt méret gyorsulás gyorsulás aránya Radeon HD 2900XT 80nm 90nm 1.7 6.9 1.05 Radeon HD 4870 55nm 65nm 1.2 1.5 2.1 GeForce 8800 GTS 65nm 65nm 2.3 4.6 2.5 A nagyobb felületaránynak köszönhet en nagyobb csúcsteljesítmény Nagyobb a fogyasztás is mert több mag dolgozik egyszerre