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



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

Grafikus csővezeték 1 / 44

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

Párhuzamos és Grid rendszerek

Magas szintű optimalizálás

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

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

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

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

GPGPU. Architektúra esettanulmány

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

Számítógépes alapismeretek

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

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

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

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

Teljesítmény: időegység alatt végrehajtott utasítások száma. Egységek: MIPS, GIPS, MFLOPS, GFLOPS, TFLOPS, PFLOPS. Mai nagyteljesítményű GPGPU k: 1-2

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

Az NIIF új szuperszámítógép infrastruktúrája Új lehetőségek a kutatói hálózatban

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

Hibrid előadás: az ea másik felében a Morgen Stanley munkatársa kiegészítéseket fog hozzáfűzni a témához. Hagyományos és szerverrendszerek.

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

Összeadás BCD számokkal

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

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

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

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

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

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

Ikermaggal bıvített kimutatások

Digitális rendszerek. Digitális logika szintje

OpenCL - The open standard for parallel programming of heterogeneous systems

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet

PCI Express szabvány

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

Bepillantás a gépházba

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

Architektúra, cache. Mirıl lesz szó? Mi a probléma? Teljesítmény. Cache elve. Megoldás. Egy rövid idıintervallum alatt a memóriahivatkozások a teljes

Előadó: Nagy István (A65)

DELL Inspiron 5758 (DI5758N GH1TD4BK-11)

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

OpenCL Kovács, György

Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

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

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

Intel Pentium G2120 Intel HD Graphics kártyával (3,1 GHz, 3 MB gyorsítótár, 2 mag)

ASUS X455LD-WX045D (X455LD-WX045D)

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?!

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

Apple Macintosh - A kezdetek és a jelen

ASUS X552WE-SX036H (X552WE-SX036H)

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

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

Mikroprocesszorok (Microprocessors, CPU-s)

DELL Inspiron DLL Q2_38_BL_ (DLL Q2_38_BL_212279)

Bruttó ár: 0 Ft. Háttértár mérete: Háttértár típusa: Lemez meghajtó: Kijelző méret: LED háttérvilágítás, 16:9 képarány

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

Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai

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

efocus Content management, cikkírás referencia

Tájékoztató. Használható segédeszköz: -

Hardver Ismeretek IA32 -> IA64

Párhuzamos programozási platformok

Bevezetés az informatikába

Mikrorendszerek tervezése

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

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

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

A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

Párhuzamos programozási platformok

AliROOT szimulációk GPU alapokon

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

Toshiba Satellite L50-C-15E (PSKWTE-00N008HU)

2. előadás. Radio Frequency IDentification (RFID)

Számítógép architektúrák. Korszerű architektúrák

Lenovo Ideapad G Q5000VHV

Számítógép fajtái. 1) személyi számítógép ( PC, Apple Macintosh) - asztali (desktop) - hordozható (laptop, notebook, palmtop)

Új kompakt X20 vezérlő integrált I/O pontokkal

Utolsó módosítás:

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Máté: Számítógép architektúrák

DELL Vostro MONET14SKL1605_011_UBU-11

Digitális Technika I. (VEMIVI1112D)

Dell OptiPlex 780 Üzembe helyezésre és funkciókra vonatkozó műszaki információs adatlap

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

GPU Lab. 14. fejezet. OpenCL textúra használat. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

LowPrice

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.

Parciális rekonfiguráció Heterogén számítási rendszerek VIMIMA15

Digitális Rendszerek és Számítógép Architektúrák (BSc államvizsga tétel)

INFORMATIKAI ALAPISMERETEK

Dell Vostro 430 Üzembe helyezésre és funkciókra vonatkozó mu:szaki információs adatlap

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

Számítástechnikai gépek, berendezések és szoftverek beszerzése. 1. rész Számítástechnikai gépek, berendezések beszerzése

FIR SZŰRŐK TELJESÍTMÉNYÉNEK JAVÍTÁSA C/C++-BAN

DELL Latitude CA009L3550EMEA_WIN-11 (CA009L3550EMEA_WIN-11)

A PC története. Informatika alapjai-9 Személyi számítógép (PC) 1/12. (Personal computer - From Wikipedia, the free encyclopedia)

SzA19. Az elágazások vizsgálata

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

Átírás:

GPGPU: Általános célú grafikus processzorok cgpu: computational GPU GPGPU = cgpu Adatpárhuzamos gyorsító: dedikált eszköz, ami eleve csak erre szolgál. Nagyobb memória+grafika nélkül (nincs kijelzőre kimenet) MM, grafika, HPC 1

2

3

4

Háromszögekből (n millió) épül fel egy grafikai objektum. Csúcs, él, felület. Koordináták kellenek + kiegészítő információk (szín, fény reflexió, stb). 5

Megvalósítás: logikai egységek kezelik a részproblémákat. Vertex shader: 3D ből leképez 2D be, lebegőpontos számítást igényel Pixel shader: színező, fényreflexiós számítások, fixpontos műveletek. Geometriai shader: mgé csak pár évelétezik, az adatok átformálásra nyújt lehetőséget. 6

Shaderek szabványrendszerben jelennek meg. 4-es verziószám fontos (később kifejtjük, miért). Ezután volt 2 dia: Shader model 2, 3, 4 felsorolásos jellemzése. 7

2006-ban bejött a shader 3 is 8

9

10

Csúcs feldolgozó teljesítmény: Gigaflops. Szimplapontos teljesítményre vonatkozik az ábra. Intel rendszerek és NVIDIA GPGPUk összehasonlítása. 2006 környékén SM4 nek köszönhetően begyorsult, a csúcsteljesítmény 2008 -ban 1 TF Manapság 2,7 Tflops (Fermi)! A csalás : 2006 ig az Intel 32 bites volt, 2006 után 64 bites (Core 2 már 64 bit) 11

Lebegőpontos teljesítmény. Mindre jellemző a 0.1-0.2 szeres szorzó (szimplapontos és duplapontos között). Fermi felviszi ezt 0.5 re, tehát 1.3 TFLOPS duplapontos teljesítményre képes. Csak adatpárhuzamosságra vonatkozik ez a teljesítmény (mátrixokkal való műveletvégzésnél) Támogatni kell a RAM oldaláról is: memória sávszélesség: 100-150 Gbyte / s (Intel processzoroknál: 10-20 Gb/s). Nagyon széles adatutakkal érik ezt el: pl 32 bites csatornából 6-8 db (a szokásos 1*64 bittel szemben) 12

Nagy teljesítmény indoka: a cache eket igyekeznek mellőzni (masszívan többszálú működésűek). A hagyományos architektúrában a cache ek segítségével csökkentik a hatékony átlagos elérési időt. Itt nagyon sok szállal működnek, és ha egy szál a RAMhoz fordul, elveszem az erőforrásokat, azt átadom egy másik szálnak, stb, és így meg tudom várni, amíg előáll az adat. 13

A végrehajtási modell neve: SIMT (nem SIMD!!! Single Program Multiple Thread). NVIDIA nál a megnevezés: Single Program Multiple Data, SPMD 14

SIMT (2006 -tól): két- vagy többdimenzós tömbön tudja alkalmazni ugyanazt a műveletet (mátrixokat tudó rendszer) Masszívan többszálú annak érdekében, hogy a cache ket lehessen minimalizálni -> a chipfelület jóval nagyobb részét lehessen számításokra felhasználni Adatfüggő végrehajtási lehetőséggel rendelkezik Szinkronizációs mechanizmussal rendelkezik FONTOS ÁBRA. Következőkben az egyes pontok kifejtése. 15

16

17

Adatpárhuzamos végrehajtás, legalább kétdimenziós végrehajtási lehetőséggel. Logikailag Pl 8*4 vagy 8*8 adatelemen (tömb) hajtunk végre egy feladatot, fizikai háttérrel. SIMT magok: GPGPU alapvető építőelemei, végrehajtás közben ezekre kell leképezni a (jellemzően 2D) mátrixokat 18

SIMT mag gyártófüggő elnevezései. Larrabbe: x86 os magok, erre utal a kifejezés 19

Minden mag 1-1 regiszterfájlt kap a működéshez, és abból hozza az adatokat, és abba viszi az adatokat 20

A*b+c típusú művelet (3 operandusú 2 műveletet elvégez 1 ciklusba, mátrixoknál nagyon jellemző) 21

Manapság 1600 ALU van, mind kap 1-1 regiszterfájlt, amivel dolgozik, párhuzamosan működnek. Regiszter blokk manapság ~128 Kb. 22

Szimplapontos kétműveletes alap (multiply-add), futószalagos végrehajtás, ~2-4 óraciklus után megvan az adat (Fermi: 2, régebbieknél 4) 23

Fényforrások kiszámolásához kell sin,cos,tg műveleteket, ezeket támogatják. 24

Második komponens. Cache ek helyettesítésére. 100-200(-1000) óraciklust igénylő számításoknál erőforrásokat átkapcsol más szálaknak (többszáz szál) 25

Pl. 8*8 adatelem szám. 1-1 szintre azonos utasítások vonatkoznak, minden ALU ugyanazt csinálja. 26

Valóságban: a szálváltásnak nulciklusúnak kell lennie (nem veszíthetünk időt) => minden szál saját regisztertérben fut. 27

Példa: 6 szálas rendszer, pointer címe változik meg, időveszteség nélkül megtörténhet. 28

Harmadik: adatfüggő vezérlés. A rendszer a feltételes elágazások mindkét ágát végrehajtják, de más-más adatokon hajtjuk végre az utasításokat a két ág függvényében. 29

30

Meg kell vizsgálni az egyes elemekre, hogy igaz vagy hamis a feltétel. Sok adatelem esetén szükségszerűen mindkét ágat végig kell járni! Első 3 ciklusban a végrehajtás azoké, akiknél teljesül, a többi NOP, utána fordítva. 31

Az összes többi utasítást csak ezután hajtja végre (minden ALUban) -> szinkronizáció 32

Negyedik komponens: szinkronizáció. 33

Globális működés: Van egy CPU és van egy GPGPU. A CPU az az eszköz, amelyik az utasításfolyamot elvben (valszeg sorosan, egy maggal) végrehajtja, és amikor adatpárhuzamos részhez érünk ( Kernel ), ami blokkokból épül fel (pl. 1 blokk 32 512 szál), akkor megszólítja a GPGPU -t, adattranszfert végrehajt, és a GPGPU végzi el a műveletet, esetleg adatokat visszaad a CPU nak. Ezután megy tovább a soros végrehajtás. Hátrány: adattranszferek lassítják. Töltési idő a szűk keresztmetszet. 34

Eddig volt az elmélet, most jön a megvalósítás. 35

GPGPU: öszvér, a grafika és a HPC között. Programozható, APIkat kell tudni, tesztelni kell tudni. AMD megvásárolta az ATI t. NVIDIA nem ment bele abba, hogy az Intel része legyen. Data paralell acc.: kijelző nélküli nagyobb memóriával rendelkező célhardver. Tesla és FireStream családok 36

NVIDIA: G80 volt az első használható GPGPU. G80 (az első igazán használható GPGPU) és G92 közt nincs nagy különbség, G200 már van architektúrális változás, utána Fermi (zsugorítás és architektúrális változtatás is történt). AMD: technológiában előrehaladottabb. RV870: 2009 ősszel. Ezek magok! 37

Kiemelendő 3 dolog: Komplexitás (tranzisztorszám): G80 700millió, GT200: duplázódik, Fermi: szintén. ~3.000.000.000 tranzisztor! ALUk száma: G80 ~100, GT200 ~200, Fermi ~500 Memória adat sávszélessége: 320-512 bit (32 bit széles, n db csatorna) Szoftvertámogatás: CUDA v1, v2 (egymástól lényegesen eltér a kettő!) AMD R500: beépített rendszer, XBOX ba készült. Nem tekinthető GPGPU nak (~50 ALU), de egy állomás afelé. R600: ALU -k száma 320-1600 Memória (adat~)sávszélessége: 256-512 bites Szoftvertámogatás: Brook+: saját programozási rendszere Mindkét szoftvert le fogja váltani az OpenCL szabvány (AMD, NVIDIA, Intel is támogatja) 38

2 dolgot kell kiemelni: - Chip felület: 576 mm^2 (~2*3 centi.. Intel CPU: ~1 cm^2) - Frekvencia ~1 Ghz hatékonyan (tényleges számítási frekvencia: 1 GHz felett: 100 ALU 1.2 GHz, elvben 3 utasítás => 346 GFLOPS. Ugyanígy kapjuk meg az ~1 TFLOPS ot is) Elvben : 2 FX, plusz 1: minden 8. ciklusban FP. GDDR5 kicsit gyorsabb, mint a GDDR3. Jellemzően PCI express en keresztül csatlakoznak 39

Nagyon hasonló az előzőhöz, több mag van, kisebb frekvenciával (1 Ghz helyett 700 Mhz körül) Itt is megvan a több kártya használati lehetősége, csak máshogy hívják. 40

AMD olcsóbb, a tömegigényeket ők elégítik ki, az NVIDIA a teljesítményre megy rá. 41

Adatpárhuzamos gyorsítók 42

FONTOS. Megvalósítási lehetőségek. Kártyát vagy arra épülő rendszert lehet vásárolni. Az implementáció chip vagy kártya alapú. Kártya, desktop, server Minden gyártó bejelentette, hogy 1 lapkán lesz CPU és GPU. (Intel: Nehalem). Mindkettő visszamondta, azt mondják, hogy a 32 nano s technológiával hozzák ki (a nagy tranzisztorszám miatt). 2010 re várhatók. 43

Kártya alapú megvalósítás: Kártya, desktop, szerver. (NVIDIA: C-D-S) Kártya: PCI-e x16 oson keresztül. Desktop: 2 kártya, adapteren keresztül Szervernek titulált: 4 kártyás, 2 adapter kell, 2 slot kell, 2 kábel kell. 44

45

Disszipáció igen nagy: ~150-180 Watt (P4 Prescott: 103 W volt), tápegység kell neki külön. 46

47

48

49

Szervernek titulált megoldás. Az előző kétkártyás megoldást tükrözték, kizárólag mennyiségi változás. nvidia: S sorozat AMD: 9200 as sorozat 50

51

52

Memória méretek lettek kiemelve: 2-3x memóriaméret. 53

AMD általában később szállított, csúszások voltak. 54

55

1.000-10.000 dollár. Ennyivel messze nincs benne több. Bankok, biztosítók, tudományos számításokat végző intézmények meg tudják fizetni, később le fog menni az ára. 56

Felépítésük 57

58

2,7 TFLOPS! 20% -a a duplapontos, de így is fél TFLOPS! Cypress: http://prohardver.hu/teszt/az_amd_elindult_a_directx_11_osvenyen/amd_cypre ss.html Világ első directx 11es lapkája. 59

Stream Processor = ALU Újdonság: Idle Board Power: disszipáció csökkentéssel elkezdtek foglalkozni, disszipáció csökkentési technika. 60

Duplázások figyelhetők meg a korábbihoz képest. 61

Cypress lapka. 20 mag, magonként 16 ALU, ALU nként 5 feldolgozó egység => 1600 feldolgozó egység. 8*32 bites csatorna 62

5970-esről cikk: http://prohardver.hu/hir/megmutatta_magat_amd_radeon_hd_5970.html 63

2010 első negyedévre ígérik. http://www.nvidia.com/object/fermi_architecture.html 64

ECC, C++ támogatás 65

16 mag, magonként 32 ALU 66

Itt: core=alu!!! 67

Lebegőpontos és fixpontos egység, legfontosabb jellemző a 0.5 ös arány!! 68

69

Magonként van egy-egy L1 cache, tiszta és egyszerű felépítés. L1 kisebb, L2 nagyobb, memória nagyon széles adatúttal rendelkezik. 70

Soros és adatpárhuzamos részek között különbség van a végrehajtás tekintetében. A blokkokat allokálja magukhoz. 71

72

73

74

75

76

77

78

79

80

A G80 ban 32 szálanként történik a végrehajtás (akkora egy blokk) 81

Blokkok -> magokhoz 82

Warp: 32 szál 83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99