Grafikus processzorok általános célú programozása (GPGPU)



Hasonló dokumentumok
Grafikus csővezeték 1 / 44

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

GPGPU. Architektúra esettanulmány

GPGPU: Általános célú grafikus processzorok cgpu: computational GPU GPGPU = cgpu Adatpárhuzamos gyorsító: dedikált eszköz, ami eleve csak erre

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

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

GPGPU. GPU-k felépítése. Valasek Gábor

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

GPGPU programozás lehetőségei. Nagy Máté Ferenc Budapest ALICE ELTE TTK Fizika MSc 2011 e-science Café

Párhuzamos és Grid rendszerek

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

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

egy szisztolikus példa

Processzor (CPU - Central Processing Unit)

GPGPU és számítások heterogén rendszereken

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

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

GPGPU-k és programozásuk Dezső, Sima Sándor, Szénási

elektronikus adattárolást memóriacím

Számítógép architektúrák záróvizsga-kérdések február

Magas szintű optimalizálás

A számítógép egységei

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

Mi van a számítógépben? Hardver

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem)

VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek)

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

OpenCL Kovács, György

Számítógép architektúrák. A mai témák. A teljesítmény fokozás. A processzor teljesítmény növelése

Hardver Ismeretek IA32 -> IA64

A CUDA előnyei: - Elszórt memória olvasás (az adatok a memória bármely területéről olvashatóak) PC-Vilag.hu CUDA, a jövő technológiája?!

A mai témák. Számítógép architektúrák. CISC és RISC. A teljesítmény fokozás. További előnyök. A RISC gondolat

Mikroprocesszorok (Microprocessors, CPU-s)

3DMark 06 CPU. Magok / Szálak 8MB / MB /

Féléves feladat. Miről lesz szó? Bemutatkozás és követelmények

Ismétlés: Moore törvény. Tranzisztorok mérőszáma: n*százmillió, n*milliárd.

Adatok ábrázolása, adattípusok

KUTATÁSOK INFORMATIKAI TÁMOGATÁSA. Dr. Szénási Sándor

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

Bevezetés az informatikába

OpenCL - The open standard for parallel programming of heterogeneous systems

Nagy Gergely április 4.

Haladó Grafika EA. Inkrementális képszintézis GPU-n

Valasek Gábor

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

TUDOMÁNYOS ADATBÁZISOK MA ÉS A JÖVŐBEN. X64 ALAPÚ KISZOLGÁLÓ RENDSZEREK Tudomány Adatbázisok, 1. előadás, (c) 2010

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

Informatika el adás: Hardver

SzA19. Az elágazások vizsgálata

Bevezetés. Többszálú, többmagos architektúrák és programozásuk Óbudai Egyetem, Neumann János Informatikai Kar

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

Bepillantás a gépházba

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

Feladatlap: Számítógép összetevők keresése

Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

Az informatika fejlõdéstörténete

Első sor az érdekes, IBM PC ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat

Grafikus csővezeték 2 / 77

efocus Content management, cikkírás referencia

3. Az elektronikus számítógépek fejlődése napjainkig 1

Számítógép Architektúrák

Számítógép architektúrák I. Várady Géza

Számítógép Architektúrák

GRAFIKA PROGRAMOZÁSA. Bemutatkozás és követelmények. Dr. Mileff Péter

Számítógép architektúra

Apple számítógépek összehasonlító táblázata

A számítógépek felépítése. A számítógép felépítése

Számítógép architektúrák. A processzor teljesítmény növelése

Apple Macintosh - A kezdetek és a jelen

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

2. Generáció ( ) 3. Generáció (2001) NVIDIA TNT2, ATI Rage, 3dfx Voodoo3. Klár Gergely

Win 8 változatok. 2. sz. melléklet felnottkepzes@gmail.com. Töltse ki az előzetes tudásszint felmérő dolgozatot!

2017/12/16 21:33 1/7 Hardver alapok

Latitude E5440. A termék főbb jellemzői

Grafikus csővezeték és az OpenGL függvénykönyvtár

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

KÉPFELDOLGOZÓ ALGORITMUSOK FEJLESZTÉSE GRAFIKUS HARDVER KÖRNYEZETBEN

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK

Informatika érettségi vizsga

Grafika programozása

2016/08/31 02:45 1/6 Hardver alapok

IT - Alapismeretek. Feladatgyűjtemény

Négyprocesszoros közvetlen csatolású szerverek architektúrája:

ELŐADÁS SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

Számítógép Architektúrák

Valasek Gábor és Hajder Levente Informatikai Kar. 2016/2017. I. félév

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

2016/06/23 07:47 1/13 Kérdések

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Diplomamunka. Miskolci Egyetem. GPGPU technológia kriptográfiai alkalmazása. Készítette: Csikó Richárd VIJFZK mérnök informatikus

Általános célú számítási feladatok GPU-kon és DSP-ken való megvalósítása

Nemlineáris optimalizálási problémák párhuzamos megoldása grafikus processzorok felhasználásával

Valasek Gábor és Hajder Levente Informatikai Kar 2016/2017.

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Jelfeldolgozás a közlekedésben

Assembly. Iványi Péter

Számítógép architektúrák 2. tétel

Intel Celeron G550 Intel HD Graphics kártyával (2,6 GHz, 2 MB gyorsítótár, 2 mag)

Átírás:

2015. szeptember 17. Grafikus processzorok általános célú programozása (GPGPU) Eichhardt I., Hajder L. és V. Gábor eichhardt.ivan@sztaki.mta.hu, hajder.levente@sztaki.mta.hu, valasek@inf.elte.hu Eötvös Loránd Tudományegyetem, Informatikai Kar 2014/2015. tavaszi félév

Tartalom 1 Adminisztráció Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés 2 3 4 5 6 7

Tartalom Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés 1 Adminisztráció Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés 2 3 4 5 6 7

Bemutatkozás és elérhetőségek Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés Eichhardt Iván Email: eichhardt.ivan@sztaki.mta.hu Szoba: MTA SZTAKI XI.ker Kende u. 13-17. 306-os szoba Hajder Levente Email: {hajder.levente}@sztaki.mta.hu Szoba: MTA SZTAKI XI.ker Kende u. 13-17. 312-es szoba Valasek Gábor Email: valasek@inf.elte.hu Szoba: ELTE déli-tömb 2.704

Előadás Adminisztráció Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés Előadás Heti egy óra. Helyszín: Grafika labor 16.00-16.45 Gyakorlat Heti 2 óra. Helyszín: Grafika labor 17.00-18.30 Az előadás és a gyakorlat úgyis össze -vissza lesz. Ahogy a tananyag megkívánja Honlap: http://cg.elte.hu

Számonkérés Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés Félévközi követelmény: Órák látogatása erősen ajánlott. Két darab kötelezően beadandó feladat elkészítése Feladatkiírások hamarosan... Követelmény vizsgaidőszakban Szóbeli vizsga Egy kihúzott tétel kidolgozása Elbeszélgetés a beadandókról, a felmerült nehézségekről és megoldási lehetőségekről

Hol lehet ezt használni? Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés Sebesség kritikus a programozási feladatokban Felhasználási területek: részecskefizikától a meteorológiai előrejelzéseken át a numerikus optimalizálásig szinte mindenhol Az előadók hol használták/használhatnák a tudást: Számítógépes grafika Számítógépes képfeldolgozás Számítógépes 3D látás Geometria modellezés Matematikai algoritmusok (lineáris algebra)...

Tartalom 1 Adminisztráció Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés 2 3 4 5 6 7

: miről lesz szó a félévben? Számítógép architektúrák fejlődése Párhuzamos architektúrárák GPU történelem, grafikus processzorok fejlődése Legelterjedtebb API-k áttekintése OpenCL CUDA Speciális algoritmusok párhuzamosítása: iterációk, rekurziók,..stb. Esettanulmányok

: miről lesz szó a félévben? Optimalizálási kérdések: hogyan lesz gyorsabb a programunk? Esettanulmányok Grafika (renderelés, rekurzív sugárkövetés) Képfeldolgozás (szűrők megvalósítása) Lineáris algrebra (nagy mátrixok sajátértékeinek számítása)

Tartalom 1 Adminisztráció Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés 2 3 4 5 6 7

A számítógép feldolgozási sebességének határai Alapvetően három dolog tud egy számítást lelassítani 1 A fény túl lassú Laikusok számára ez viccesen hangzik... 2 Kéne még pár milliárd tranzisztor a lapkára 3 Rosszul tervezett algoritmusok (emberi tényező) Lássuk az okokat egyesével!

Lassú fény Kezdjük egy ki számolási példával A fény sebessége 300.000km/s Van egy gépünk AMD A8-6500K 3,5 GHz CPU-val 1 méteres kábellel csatlakoztatunk egy USB merevlemezt. A proci 2 órajel alatt képes lebegőpontos összeadásra A következő adat a lemezen van, be kell olvasni. Hány összeadást tudna a proci addig elvégezni, amíg a lemezről az elektronok (fénysebességgel) megérkeznek a CPU-ba?

Lassú fény Feladat megoldása: A processzor órajele 3, 5Ghz = 3.500.000.000Hz Egy órajel 1/3.500.000.000 = 285.7 psec (pikosec) Két órajel (egy összeadás) 571, 8 psec időt vesz igénybe A fény ennyi idő alatt 310 8 m/s 571, 8 10 12 s = 0.17m utat tesz meg Méteres kábel esetén: 1m/0, 17m 6 Tehát a CPU-nk 6 utasításnyi időt malmozott, amíg az adat megérkezett. És akkor egyéb lassító tényezővel nem is számoltunk... Pl. HDD tipikus elérése 20 msec......ami alatt a CPU szabadságra is mehet.

Lassú fény Feladat megoldása: A processzor órajele 3, 5Ghz = 3.500.000.000Hz Egy órajel 1/3.500.000.000 = 285.7 psec (pikosec) Két órajel (egy összeadás) 571, 8 psec időt vesz igénybe A fény ennyi idő alatt 310 8 m/s 571, 8 10 12 s = 0.17m utat tesz meg Méteres kábel esetén: 1m/0, 17m 6 Tehát a CPU-nk 6 utasításnyi időt malmozott, amíg az adat megérkezett. És akkor egyéb lassító tényezővel nem is számoltunk... Pl. HDD tipikus elérése 20 msec......ami alatt a CPU szabadságra is mehet.

Lassú fény Feladat megoldása: A processzor órajele 3, 5Ghz = 3.500.000.000Hz Egy órajel 1/3.500.000.000 = 285.7 psec (pikosec) Két órajel (egy összeadás) 571, 8 psec időt vesz igénybe A fény ennyi idő alatt 310 8 m/s 571, 8 10 12 s = 0.17m utat tesz meg Méteres kábel esetén: 1m/0, 17m 6 Tehát a CPU-nk 6 utasításnyi időt malmozott, amíg az adat megérkezett. És akkor egyéb lassító tényezővel nem is számoltunk... Pl. HDD tipikus elérése 20 msec......ami alatt a CPU szabadságra is mehet.

Lassú fény Feladat megoldása: A processzor órajele 3, 5Ghz = 3.500.000.000Hz Egy órajel 1/3.500.000.000 = 285.7 psec (pikosec) Két órajel (egy összeadás) 571, 8 psec időt vesz igénybe A fény ennyi idő alatt 310 8 m/s 571, 8 10 12 s = 0.17m utat tesz meg Méteres kábel esetén: 1m/0, 17m 6 Tehát a CPU-nk 6 utasításnyi időt malmozott, amíg az adat megérkezett. És akkor egyéb lassító tényezővel nem is számoltunk... Pl. HDD tipikus elérése 20 msec......ami alatt a CPU szabadságra is mehet.

Lassú fény Feladat megoldása: A processzor órajele 3, 5Ghz = 3.500.000.000Hz Egy órajel 1/3.500.000.000 = 285.7 psec (pikosec) Két órajel (egy összeadás) 571, 8 psec időt vesz igénybe A fény ennyi idő alatt 310 8 m/s 571, 8 10 12 s = 0.17m utat tesz meg Méteres kábel esetén: 1m/0, 17m 6 Tehát a CPU-nk 6 utasításnyi időt malmozott, amíg az adat megérkezett. És akkor egyéb lassító tényezővel nem is számoltunk... Pl. HDD tipikus elérése 20 msec......ami alatt a CPU szabadságra is mehet.

Lassú fény Feladat megoldása: A processzor órajele 3, 5Ghz = 3.500.000.000Hz Egy órajel 1/3.500.000.000 = 285.7 psec (pikosec) Két órajel (egy összeadás) 571, 8 psec időt vesz igénybe A fény ennyi idő alatt 310 8 m/s 571, 8 10 12 s = 0.17m utat tesz meg Méteres kábel esetén: 1m/0, 17m 6 Tehát a CPU-nk 6 utasításnyi időt malmozott, amíg az adat megérkezett. És akkor egyéb lassító tényezővel nem is számoltunk... Pl. HDD tipikus elérése 20 msec......ami alatt a CPU szabadságra is mehet.

Lassú fény Feladat megoldása: A processzor órajele 3, 5Ghz = 3.500.000.000Hz Egy órajel 1/3.500.000.000 = 285.7 psec (pikosec) Két órajel (egy összeadás) 571, 8 psec időt vesz igénybe A fény ennyi idő alatt 310 8 m/s 571, 8 10 12 s = 0.17m utat tesz meg Méteres kábel esetén: 1m/0, 17m 6 Tehát a CPU-nk 6 utasításnyi időt malmozott, amíg az adat megérkezett. És akkor egyéb lassító tényezővel nem is számoltunk... Pl. HDD tipikus elérése 20 msec......ami alatt a CPU szabadságra is mehet.

Kevés tranzisztor Az algoritmusaink egymás utáni lépésekből állnak Szekvenciális végrehajtás Az egymástól független utasításokat egyszerre lehet végrehajtani Kulcs: párhuzamosítás Párhuzamosítás számtalan módon lehetséges Ennek egyik formája a GPU-k használata Párhuzamosítás több végrehajtó egységet igényel,.....szaporodnak a tranzisztorok a foglalatban.

Rosszul megírt programok Az emberi tényező... Az oktatók kudarca... A programozók lustasága...... Nem célja a specinek, hogy megoldást találjon a problémára.

Megoldások Ha a fény lassú: utaztassuk kevesebbet az adatokat Ha a párhuzamosság gyorsít: tervezzünk párhuzamos architektúrákat (Ha rosszul programozunk: programozzunk jobban!)

Lassú fény (1) Sajnos a fénysebességen nem tudunk gyorsítani Megoldás (1): adatokat (elektronokat) közelebbre kell hozni Erre találták ki a gyorsítótárat (cache) Meg kell mondani előre, hogy milyen adatokra lesz szükség,......vagy ki kell találni. Megoldás (2): egyszerre több adatot kell mozgatni Több vezetéken párhuzamosan. Ezért volt értelme a 32 bites processzorokat 64 bitesre cserélni. 32 bit 32 vezetéket jelent, 64 bit a dupláját Komoly tanulsága a problémának: nagy adatmozgatás sok időt vesz igénybe.

Lassú fény (2) GPU-kban cache szintén létezik.

Lassú fény (3) Cache kezelésre oda kell a programozáskor is figyelni. Indirekción keresztül nehéz cache-elni Példa: http://gameprogrammingpatterns.com/ data-locality.html/ Második megoldás ötvenszer (!) gyorsabb

Lassú fény (4) Memóriatípusok összehasonlítása Memória típusa Elérés adatátvitel Regiszterek 1nsec n/a Gyorsítótár 10nsec 100GByte/sec RAM 500nsec 1Gbit/sec Hálózati gyorsítótár 50µsec n/a SSD 200µsec 200Mbit/sec Merevlemez 20msec 50Mbit/sec

Lassú fény (4) Magát az utasítást is be kell olvasni Az utasítás legyen minél rövidebb Ehhez kevesebb utasítást lehet használni Cserébe több regiszter szokásos Redukált utasításkészlet: RISC architektúra RISC: Reduced Instruction Set Computer Hagyományos CISC architektúra: Complex Instruction Set Computer Ma már a CISC architektúra belül RISC Processzor a processzorban: az utasítást át kell fordítani Egy CISC utasítást több RISC parancs írhat le. Ettől sem lesz kevesebb tranzisztor a gépben, sőt...

Párhuzamos architektúrák (5) Egy utasítás életútja (elnagyoltan) 1 Beolvasás (F: fetch) 2 Értelmezés (D: decode) 3 Paraméterek beolvasása (L: load) 4 Művelet végrehajtása (E: execution) 5 Eredmény visszaírása (WB: write back) Az egyes részek nagyjából függetlenek egymástól. Párhuzamosan végrehajthatók

Párhuzamos architektúrák (1) Futószalag elv: részfeladatok párhuzamos végrehajtása

Párhuzamos architektúrák (2) A futószalag-végrehajtást jól megválasztott utasítások segítik Kevesebb utasítás jobb szokott lenni RISC architektúra ajánlatos Ezért is alakítják át a régi CISC architektúrákat RISC-é belül. Pl. Intel x86/x64 processzorcsalád.

Párhuzamos architektúrák (3) Szekvenciális programozás gyenge pontja: feltételes ugrások if/else while/do-while for switch/case Feltételeket előre meg kell becsülni (statisztikai felmérések) Utasítás előrejelzés Szuperskalár architektúra

Párhuzamos architektúrák (4) Bár párhuzamosításról van szó, szekvenciális programokat futtat Minden utasítás saját adatain dolgozik. SISD architektúra: Single Instruction Single Data Legkézenfekvőbb párhuzamosítás: több CPU betétele Egyszerre több utasítás a saját adatain dolgozik. MIMD architektúra: Multiple Instruction Multiple Data MIMD architektúra két fajtája: Párhuzamosság a processzek szintjén: több független CPU (mag). Párhuzamosság a szálak szintjén: több szál CPU-n belül

Párhuzamos architektúrák (5) SISD/MIMD architektúrát már ismerjük Mi lehet a MISD/SIMD architektúra? MISD: Multiple Instruction Single Data? Más utasítás ugyanazon az adaton. Értelme: Ugyanazt több áramkörrel számítjuk. Ha az egyik hibázik, a többi felülbírálhatja: hibatűrő rendszerek Ettől gyorsabb nem lesz a rendszerünk nem foglalkozunk vele

Párhuzamos architektúrák (6) SIMD: Single Instruction Multiple Data Elérkeztünk a GPU architektúrához! Ugyanazt az utasítást sok adaton kell végrehajtani. Példa: Nagy cég számláinak összeadása. Rendkívül jól párhuzamosítható. SIMD variánsai Vector processzor (szinoníma) SIMT: Single Instruction Multiple Thread: SIMD többszálú változtata

: miniatürizálás Csíkszélesség: milyen vastagok a vezetékek Jelenleg: 30 nm. Csíkszélesség csökkenésének előnyei Több tranzisztor fér el azonos területen Magasabb órajel Korlátok: Atomi méreteket hamarosan elérjük. Atom átmérője : 10 100 pikométer Szivárgó áram

Tartalom 1 Adminisztráció Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés 2 3 4 5 6 7

Őskor: speciális célú áramkörök Konkrét számítási feladatok elvégzésére tervezték Ókor: Neumann-elvvel megjelenik a program mint fogalom Programot a memóriában tároljuk Központi feldolgozó egység (CPU) megjelenik Középkor: CPU gyorsítgatása Futószalagok, gyorsítótárak, RISC, szuperskalár rendszerek Újkor: Több CPU egy gépben, majd több mag egy CPU-n belül. Párhuzamos (többprocesszoros) programozás Többszálas programozás Legújabb kor: GPU-k bevetése általános számítási feladatokra Adminisztráció Számítógép architektúrák történeti fejlődése

Tartalom 1 Adminisztráció Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés 2 3 4 5 6 7

MIMD architektúra 90-es évek végén bemutatkozott. Marketingesek a multimédiás processzor kulcsszót találták ki Intel: SSE, SSE2 AMD: 3DNow! Multimédia: párhuzamos adatokon végrehajtott utasítások Általában 4 multimédiás regiszter Utasítások: algebrai műveletek, feltételek vizsgálata, konverziók,..stb. Egész és lebegőpontos számokon egyaránt működik GPU-k megjelenésével elvesztette jelentősségét.

Tartalom 1 Adminisztráció Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés 2 3 4 5 6 7

1995 előtt: grafikus processzorok előtti kétdimenziós gyorsítások: 1978: Intel isbx 275 Video Graphics Controller Hardveres vonal, ív, bitmap...stb. rajzolás 1986: Comodore Amiga : Blitter CPU-tól független grafikus processszorral 1986: Texas Instruments: TMS34010, Általános célú processzor, grafikára hegyezett utasításkészlettel 90-es évek elején egyre több grafikus chipgyártó terméke jelent meg ATI, Matrox, S3...stb

Grafikus pipeline rendkívül kiválóan párhuzamosítható

1995-től: 3D-s gyorsítások Fejlesztés hajtóereje: OpenGL és DirectX API-k megjelenése Háromdimenziós vizualizáció támogatása Inkrementális képszintézis alapján Futószalag elv megjelenése a képszintézisben (jól párhuzamosítható!) Transzformációk és megvilágítás (T&L: Tranform & Ligting) Nvidia GeForce 256 Profi kártyák (méregdrágán) is megjelentek 2000 táján az első shader-ek megjelentek Vertex-ek és pixelek számítására külön program írható Mai értelemben használt GPU-król itt kezdünk beszélni NVidia GeForce3, Ati Radeon 9700

GPU architektúrák generációi 1. generáció: 1996-tól 3dfx Voodoo 1 millió tranzisztor 50MHz 4 MB (64 bites) RAM CPU Vertex (csúcs) transzformálása GPU textúra leképzés z-buffer raszterizálás (pixelek színének számítása)

GPU architektúrák generációi 2. generáció: 1999 NVidia GeForce 256 23 millió tranzisztor 120MHz 32Mb (128 bites) RAM 4 darab grafikus futószalag (nem programozható, adat futószalagon belül nem módosítható) ATI Radeon 7500

GPU architektúrák generációi 3. generáció: 2001 NVidia GeForce 3 57 millió tranzisztor 120MHz 64Mb (128 bites) RAM ATI Radeon 8500 Microsoft XBox Programozható Assembly-szerű nyelv: kernel programozás Végrehajtó neve: shader (árnyaló) Adat a futószalagon belül is módosítható.

GPU architektúrák generációi 4. generáció: 2002 NVidia GeForce FX 80 millió tranzisztor 400MHz 128Mb (128 bites) RAM ATI Radeon 9700 Teljes programozhatóság Vertex shader: térbeli pontok + vektor/mátrixműveletek Pixel shader: színek számítása

GPU architektúrák generációi 5. generáció: 2003 NVidia GeForce FX 80 millió tranzisztor 400MHz 128Mb (128 bites) RAM ATI Radeon 9700 Teljes programozhatóság Vertex shader: térbeli pontok + vektor/mátrixműveletek Pixel shader: színek számítása, textúraműveletek Teljes lebegőpontos támogatás

GPU architektúrák generációi 6. generáció: 2004 NVidia GeForce 6 146 millió tranzisztor 500MHz 256Mb (256 bites) RAM ATI Radeon 9700 Részei: Programozható vertex motor Programozható fragment motor Textúrázó motor Mélység összehasonlító motor

GPU architektúrák generációi 7. generáció: 2007 NVidia GeForce 8 (Kepler architektúra) 210 millió tranzisztor 575MHz / 1.35GHz 384Mb (256 bites) RAM Stream processing megjelenik A mag és a shaderek más sebességgel működnek

GPU architektúrák generációi 8. generáció: 2010 NVidia Fermi architektúra 1 milliárd tranzisztor 700MHz 1, 5Gb (384 bites) RAM Masszívan párhuzamos Tetszőlegesen programozható Shader-ek helyett a szálak (threads) jelennek meg Részei: Vertex motor Geometria motor Textúrázó motor

GPU architektúrák generációi 9. generáció: 2012 NVidia Kepler architektúra 1,3 milliárd tranzisztor 256 KB L2 cache 1056 MHz órajel 400 mag energiatakarékosság: magasabb teljesítmény/watt arány Dynamic Parallelism: szálak létrehozása CPU nélkül Hyper-Q: több CPU szál tudja szimultán programozni a GPU-t

GPU architektúrák generációi 10. generáció: 2014 NVidia Maxwell architektúra 1,9 milliárd tranzisztor 2 MB L2 cache 1020 MHz órajel 640 mag energiatakarékosság javított utasítás előrejelzés nagyobb L2 cache

GPU architektúrák generációi 11. generáció: a nem túl távoli jövőben... NVidia Pascal architektúra 3D memória Egyesített CPU-GPU memória NVlink: PCI Expressnél lényegesen gyorsabb memóriabusz

Tartalom 1 Adminisztráció Bemutatkozás és elérhetőségek Előadások, gyakorlatok Számonkérés 2 3 4 5 6 7

: Mobil GPU Hagyományos GPU-k fogyasztása nagyon magas 300 Watt teljesítmény elég hamar lemerítené az aksit Bár ez utóbbi állítás nem igaz, mert a vezetékek hamarabb szétégnének Minden számítás fogyasztással is jár Mobil eszközben a GPU-k a felesleges számítás elkerülésére optimalizáltak Pl. Z-buffer algoritmus : IMR (immediate mode rendering) helyett TBR (tile-based rendering). Grafikára koncentráltak Bár utóbbi időben már GPGPU is megjelent a mobilokban

Köszönjük a figyelmet!