kompiuteriŲ elementai ir architektŪra
DESCRIPTION
KOMPIUTERIŲ ELEMENTAI ir ARCHITEKTŪRA. ŠIUOLAIKINIŲ KOMPIUTERIŲ ARCHITEKTŪRA. Doc. Stasys Maciulevičius Kompiuterių katedra sta sys. ma ciulevicius @ktu.lt. Ankstesnėje paskaitoje. Magnetiniai diskai Informacija magnetiniame diske MD įrašymo būdai Flash atmintis S SD - PowerPoint PPT PresentationTRANSCRIPT
KOMPIUTERIŲ ELEMENTAI ir
ARCHITEKTŪRA
Doc. Stasys Maciulevičius
Kompiuterių katedra
ŠIUOLAIKINIŲ KOMPIUTERIŲ ARCHITEKTŪRA
©S.Maciulevičius 22011
Ankstesnėje paskaitoje
Magnetiniai diskai Informacija magnetiniame diske MD įrašymo būdai Flash atmintis SSD Hibridiniai diskai CD DVD Naujieji DVD tipai
©S.Maciulevičius 32011
Šioje paskaitoje
Grafinė plokštė Grafinė atmintis Grafinės atminties tipai Grafikos procesorius Įterptinė grafika SLI ir CrossFire Skaičiavimų spartinimas Intel Larrabee Bendrosios paskirties GPU Nvidia CUDA
©S.Maciulevičius 42011
Grafikos aktualumas
AMD http://www.amd.com/us/products/technologies/fusion/Pages/training-
course.aspx teigia: Kiekvieną sekundę į Facebook įkeliama daugiau nei
1000 nuotraukų Kiekvieną minutę į YouToube įkeliama apie 20 valandų
video medžiagos Kiekvieną dieną vartotojai į savo skaitmenines media
bibliotekas įkelia apie 50 mln failų Šiandien vartotojų asmeninėse bibliotekose 9 mlrd
video failų yra didelės raiškos (HD) Tai smarkiai įtakoja vartotojų pasirinkimą perkant
kompiuterius
©S.Maciulevičius 52011
Ko nori vartotojai
Remiantis šiuolaikinių technologijų naudojimo praktika galima sakyti, kad vartotojai iš kompiuterio laukia:
Ryškaus ir švaraus vaizdo, atkuriamo realiu laiku Galimybės vienu metu vykdyti keletą naujausių
taikomųjų programų Elegantiškos išvaizdos ir prieinamos kainos Energetinio efektyvumo, tylos, tačiau ne našumo
sąskaita Turtingos grafikos ir vaizdo
©S.Maciulevičius 62011
Grafinė plokštė
Grafinė plokštė – svarbus PC įtaisas, kuris kompiuterio apdorotą informaciją mums pateikia akiai maloniu vaizdu
Anksčiau kompiuterių grafinė plokštė transformuodavo skaitmeninę informaciją į analoginę, kurią išvesdavo į ekraną
Šiuolaikiniuose LCD displėjuose informacijos transformuoti į analoginę nereikia
Vaizdas ekrane sudaromas iš taškų – pikselių. Šie gali būti vienspalviai arba spalvoti
Aukščiausios kokybės vaizdą (full-color arba true color) užtikrina 1 pikseliui koduoti skirti 24 arba 32 bitai – 16,8 mln. spalvų
©S.Maciulevičius 72011
Grafinė plokštė
Jungtis su kompiuteriu Atmintis
Video jungtis
©S.Maciulevičius 82011
Grafinė plokštė
Grafinės plokštės vadinamos įvairiais vardais: video plokštėmis, video kortomis, grafinių adapterių plokštėmis, video adapterių plokštėmis.
Ankstesnių PC grafinė plokštė buvo sudaryta iš 4 pagrindinių komponentų:
grafikos procesoriaus video atminties tvarkyklės programos (driver) keitiklio, transformuojančio RAM skaitmeninę
informaciją į analoginę (RAMDAC)
©S.Maciulevičius 92011
Grafinė plokštė
©S.Maciulevičius 102011
Grafinių adapterių standartai
MetaiStan-dartas
Pavadinimas Raiška Spalvų sk.
1981 CGA Colour Graphics Adapter640x200160x200
Nėra16
1984 EGAEnhanced Graphics
Adapter640x350 16 iš 64
1987 VGA Video Graphics Array 640x480320x200
16 iš 262,144256
1990 XGA EXtended Graphics Array 1024x768 16.7 milijonų
SXGASuper Extended Graphics
Array1280x1024 16.7 milijonų
UXGA Ultra XGA 1600x1200 16.7 milijonų
QXGA Quantum XGA 2040x1536 16.7 milijonų
Į turinį
©S.Maciulevičius 112011
Video atmintis
Video atmintis – speciali atminties sritis, skirta monitoriuje atvaizduojamai informacijai laikyti; iš jos ekrano kontroleris cikliškai skaito informaciją ir regeneruoja vaizdą. Dar vadinama kadrų buferiu (frame buffer).
PC atmintyje ši sritis pagal tradiciją užima sritį A0000-BFFFFh (128 KB).
Paprastesniems adapteriams (MDA, CGA, EGA) tokios srities pakako. VGA ir SVGA – ne, todėl čia teko panaudoti bankų perjungimo principą.
Reikalingos atminties apimtys – lentelėje:
©S.Maciulevičius 122011
Reikalinga video atminties talpa
Bitų/ piks.
Spalvų skaičius
640x480 800x600 1024x768 1280x1024
4 16 150 KB 234 KB 384 KB 640 KB
8 256 300 KB 469 KB 768 KB 1,25 MB
15 32768 600 KB 938 KB 1,5 MB 2,5 MB
24 16,7 mln. 900 KB 1,37 MB 2,25 MB 3,75 MB
32 16,7 mln. 1,17 MB 1,83 MB 3,0 MB 5,0 MB
©S.Maciulevičius 132011
Grafinė atmintis
Anksčiau buvo sudaroma iš paprastų DRAM mikrochemų. Tačiau regeneravimo metu operacijos negalėjo būti vykdomos.
Vėliau PC video atmintyse buvo naudojamos tokių tipų atmintys:
VRAM – Video RAM; tai dviejų portų DRAM, kuriose tuo pačiu metu informacija gali būti įrašoma ir skaitoma
WRAM – Windows RAM; taip pat dviejų portų DRAM, kuri spartesnė nei VRAM
©S.Maciulevičius 142011
VRAM SM55161A struktūra
DataD0-D15
Stulp. adr. buferis
Regener. skaitiklis
Eil. adr. buferis
Nuoseklioji Atmintis (NA)
Stulpelio dešifratorius
Stiprintuvai
DRAM matrica
512 x 512 x 16
Eil.
deš
ifrat
.
A0-A8
A0-A8A0-A8
Duomenųbuferiai
NA adr. buferis
A0-A8NA
buferisSDQ0-15
512x16
Į turinį
©S.Maciulevičius 152011
Grafinės atminties tipai
GDDR GDDR2 GDDR3 GDDR4 GDDR5
Nvidia ATI
Serij. ga-myba nuo
2001 2003 2004 2006 2006 2008
Maksimalus dažnis
200 MHz 500 MHz 900 MHz 1.2 GHz 1.4 GHz 5 GHz
Konfigū-racija
4 Mx32 4 Mx32 8 Mx32 8 Mx32 16Mx32 32Mx32
Buferio plotis
2n 4n 4n 4n 8n 8n
Mait. įtampa 2.5 V 2.5 V 1.8 V 1.8 V 1.8 V 1.5 V
©S.Maciulevičius 162011
Grafinės atminties tipai
Šiuolaikinėse grafinėse atmintyse dideliam pralaidumui pasiekti naudojami tie patys principai, kaip ir RAM
GDDR3 – Graphics Double Data Rate 3 – naudoja tą pačią technologiją kaip ir DDR2, tačiau kartu sunaudoja mažiau energijos ir išskiria mažiau šilumos. Per vieną kontaktą per 2 taktus persiunčiami 4 bitai
©S.Maciulevičius 172011
Grafinės atminties tipai
GDDR4 dvigubai našesnė už GDDR3 . Tai pasiekta padvigubinus išrinkimo plotį nuo 4 iki 8 bitų, maksimalus bankų skaičius taip pat padidintas iki 8
Maitinimo įtampa sumažinta iki 1.5 V GDDR4, dirbanti 2.4 Gb/s sparta, sunaudoja 45%
mažiau energijos lyginant su GDDR3, dirbančia 2.0 Gb/s sparta
Tikimasi, kad GDDR4 pasieks 1.4 GHz dažnį (2.8 Gb/s), o Samsung planuoja pasiekti 1.6 GHz (3.2 Gb/s), padidinus maitinimo įtampą
©S.Maciulevičius 182011
Grafinės atminties tipai
GDDR5 naudoja tą pačią technologiją kaip ir DDR3, todėl yra dvigubai našesnė už GDDR4
Qimonda 2008 m. pristatė 512 Mb GDDR5 kristalus, užtikrinančius 3.6 Gb/s (900 MHz), 4.0 Gb/s (1 GHz) ir 4.5 Gb/s (1.125 GHz) spartą
Samsung 2008 m. pristatė 512 Mb kristalus, užtikrinančius 6.0 Gb/s spartą
Į turinį
©S.Maciulevičius 192011
Grafinės atminties pralaidumas
Atm
intie
s pr
alai
dum
as (
Gb/
s) v
iena
m iš
vadu
i
©S.Maciulevičius 202011
GDDR5 palyginimas su DDR3
©S.Maciulevičius 212011
Kiek grafinės atminties reikia?
Laikoma, kad idealus sparčiausios GDDR5 atminties kiekis masiniuose nešiojamuose kompiuteriuose yra nuo 512MB iki 1GB
GPU su tokia GDDR5 užtikrina didesnę spartą lyginant su GPU, turinčiu didesnę ir didesniu dažniu dirbančią DDR3 atmintį
Papildoma nenaudojama grafinė atmintis reikalauja didesnių energijos sąnaudų, generuoja daugiau šilumos, gali paveikti baterijos gyvavimo laiką, kartu nedidėjant sistemos našumui
©S.Maciulevičius 222011
Grafikos svarba
Svarbi kompiuterių industrijos varomoji jėga šiais laikais – kompiuterinė grafika. Kiek keista, bet atrodo, kad pagrindinis progreso variklis - kompiuteriniai žaidimai
Tetrio laikai, kai pradžioje apskritai buvo apsieinama be grafikos, negrįžtamai praėjo
Atėjo laikai, kai modeliuojama realybė. Kuo ji sudėtingesnė, kuo daugiau tenka modeliuoti judančių objektų, perpiešti didesnes ekrano sritis, tuo didesni reikalavimai techninei įrangai
©S.Maciulevičius 232011
Grafikos svarba
Pasirodžius Quake tipo kompiuteriniams žaidimams ir įvairiausiems “simuliatoriams”, kur modeliuojami realūs trimačiai objektai, paviršiams vaizduoti naudojamos įvairiausios tekstūros, šešėliai, užtemdymas, dūmų efektai, panaudojamas skaidrumas, reikia labai didelių skaičiavimo resursų
Centrinio procesoriaus galios jau nebepakanka, todėl buvo sukurti specializuoti grafiniai procesoriai - grafiniai akceleratoriai
Jiems perduodama dalis operacijų, susijusių su trimačių objektų modeliavimu. Jie realizuoja daugelį efektų aparatiniu būdu, naudojant nesudėtingą matematinį aparatą.
©S.Maciulevičius 242011
Grafika ir CPU
Fizinius efektus, kurie reikalingi dirbant su vaizdais, grafinis procesorius apskaičiuoja žymiai sparčiau, nei tai daro centrinis procesorius, pavyzdžiui:
©S.Maciulevičius 252011
Grafikos kokybė
Tai kompiuteriu sukurtas aktorės Adrianne Curry paveikslas, naudojant NVIDIA GeForce 8800 GTX
©S.Maciulevičius 262011
Grafikos procesorius
Anksčiau viską darydavo CPU, bet grafika jį pernelyg apkraudavo.
Šiuolaikinių PC grafikos plokštėse tam įdėtas specialus grafikos procesorius, kuris atlieka tokias operacijas:
taškinio (bitmap) vaizdo perdavimas ir piešimas, langų didumo ir vietos keitimas, linijų braižymas, daugiakampių braižymas, mastelio keitimas
©S.Maciulevičius 272011
GPU Radeon HD 5800
©S.Maciulevičius 282011
NVIDIA GeForce 8800 GPU
©S.Maciulevičius 292011
NVIDIA GeForce 8800 GPU
Į turinį
©S.Maciulevičius 302011
Įterptinė grafika
Ne viada reikalingi dideli grafikos pajėgumai. Pavyzdžiui, dirbant su raštinės programų paketais, turime tik dvimatę grafiką
Todėl kompiuterių ir jų procesorių projektuotojai numatė dvi galimybes grafikos posistemiui supaprastinti: supaprastintą grafikos itaisą įkelti į valdymo
schemų rinkinio šiaurinį tiltą supaprastintą grafikos itaisą įkelti į paties
CPU kristalą
©S.Maciulevičius 312011
Intel: CPU ir integruota grafika
©S.Maciulevičius 322011
Įterptinė grafika
Nešiojamiems kompiuteriams skirtas AMD VSR M880G turi integruotą grafinį branduolį RV620 (tai diskrečiojo Mobility Radeon HD 4250 modifikacija)
Šis grafinis branduolys turi 40 universalių procesorių (8х5), keturis tekstūrinius blokus ir keturis rastro formavimo blokus
Grafinis branduolys dirba 500 MHz dažniu. Kadrų buferiui naudojama iki 512 MB RAM (DDR2 arba DDR3)
Grafinis branduolys palaiko API DirectX 10.1 ir OpenGL 2.0
©S.Maciulevičius 332011
Intel: CPU ir integruota grafika
Kairėje – “senasis” Penryn, dešinėje – 32 nm Westmere
©S.Maciulevičius 342011
Įterptinė grafika
Nešiojamiems kompiuteriams skirti Core i3/i5/i7 turi integruotą grafinį branduolį GMA HD (GMA 5700MHD). Jame yra 12 universalių procesorių
Grafinio branduolio dažnis nuo 500 MHz iki 766 MHz
Kadrų buferiui naudojama iki 1,5 GB RAMGrafinis branduolys palaiko API DirectX 10 ir
OpenGL 2.1
©S.Maciulevičius 352011
Perjungiama grafika
Kadangi nešiojamiems kompiuteriams svarbu taupyti energiją, o kartais reikalinga ir galingesnė grafika, gali būti panaudotas toks sprendimas:
grafinis procesorius įstatomas į pagrindinę plokštę su integruota grafika
kai kompiuteris maitinamas iš elektros tinklo, dirba grafinis procesorius, kai kompiuteris maitinamas iš baterijos – naudojama integruota grafika (Nvidia Optimus)
©S.Maciulevičius 362011
Perjungiama grafika (NVIDIA)
©S.Maciulevičius 372011
Perjungiama grafika (NVIDIA)
Į turinį
Perjungiamos grafikos darbo scenarijai
©S.Maciulevičius 382011
SLI (Scaleable Link Interface)
2004 m., siekdama padidinti grafikos pajėgumus, nVidia pristatė sistemą, pavadintą SLI
Pagrindinė SLI idėja - leisti dviems ar daugiau GPU bendrai dalintis darbą kuriant tikroviškus trimačius vaizdus (rendering)
Dvi grafinės plokštės įstatomos į PCI-Express x16 lizdus sisteminėje plokštėje; jos dirba master-slave principu
Dalis vaizdo per specialią jungtį (SLI Bridge) perduodama į kitą plokštę. Apdorojusi informaciją, ši grąžina ją vedančiajai, kuri apjungia vaizdus ir perduoda į ekraną
©S.Maciulevičius 392011
SLI (Scaleable Link Interface)
Darbo pasidalijimas tarp dviejų GPU gali būti atliekamas vienu iš trijų būdų:
1. Split Frame Rendering (SFR) – darbas tarp GPU padalijamas 50/50 santykiu; tai gali būti dalijama horizontaliu pjūviu, tačiau atsižvelgiant į vaizdo geometriją – jei kurioje dalyje daugiau tuščių vietų (mėlynas dangus), tai ta dalis bus didesnė
2. Alternate Frame Rendering (AFR) – vienas GPU apdoroja lyginius kadrus, kitas – nelyginius. Tai duoda beveik dvigubą spartą (Nvidia tvirtina, kad sparta išauga iki 1.9x)
©S.Maciulevičius 402011
SLI (Scaleable Link Interface)
3. SLI Antialiasing. Čia pasidalijamas darbas glotninant laiptuotas linijas. Išauga vaizdo kokybė, bet ne darbo sparta.
SLI technologiją palaiko Windows XP, Windows Vista ir Linux (visos 32 ir 64 bitų)
©S.Maciulevičius 412011
Triple SLI
Kaip "Triple SLI" sistemos dalys galės būti naudojamos vaizdo plokštės su nVidia GeForce 8800 Ultra ir GeForce 8800 GTX
©S.Maciulevičius 422011
Triple SLI
Oficialiai teigiama, kad trijų vaizdo plokščių SLI konfigūracijoje naudojimas turėtų padidinti žaidimų spartą iki 2.8 karto bei leisti pasiekti 60 FPS spartą esant net 2560x1600 raiškai
Kompiuterio su tokia vaizdo posisteme kaina nebus maža - daug kainuoja ne tik trys vaizdo plokštės, bet ir daugiau nei 1000 W galios maitinimo blokas, nauja pagrindinė plokštė
Amerikiečiai paskaičiavo, kad neperkant pigiausių sistemos komponentų sistema kainuoja apie 2828 JAV dolerius neskaitant korpuso, kietojo disko, DVD įrenginio kainų
©S.Maciulevičius 432011
Quad SLI
2006 m., siekdama grafikos pajėgumus didinti kartu su CPU, nVidia pristatė keturių grafikos procesorių sistemą, pavadintą Quad SLI
Sistemą sudaro dvi plokštės, po du GPU kiekviena; plokštės tarpusavyje sujungtos 10 kontaktų jungtimi
Kiekvienas GPU turi 512 KB GDDR3 atminties
©S.Maciulevičius 442011
Quad SLI
©S.Maciulevičius 452011
CrossFire
2005 m. ATI pristatė dviejų grafinių plokščių tandemą, pavadintą CrossFire. Jį sudarė:
Radeon CrossFire Edition grafinė plokštė su Compositing Engine
antra PCI Express grafinė plokštė su Radeon X800 ar X850 serijų GPU
CrossFire Ready sisteminė plokštė su dviem PCI Express jungtimis grafikai
CrossFire tvarkyklė
©S.Maciulevičius 462011
CrossFire
Į turinį
©S.Maciulevičius 472011
Procesorių našumas ir galia
©S.Maciulevičius 482011
Amdahl dėsnis ir lygiagretumas
©S.Maciulevičius 492011
Skaičiavimų spartinimas
Skaičiavimų industrija susiduria su tokiomis problemomis:
Plėtojami komerciniai ir vartotojiški uždaviniai (t.t. virtualizacija ir multimedijos elementus turintys uždaviniai), kuriems reikia nebrangių, energijos sąnaudų atžvilgiu efektyvių ir labai našių skaičiavimų
Sutinkami ir išlygiagretinti algoritmai, kurie gali būti realizuojami daugiabranduolinėse architektūrose
Stokojama programuotojų, turinčių žinias ir įgūdžius lygiagrečioms programoms rašyti, ir priemonių tokioms programoms derinti
©S.Maciulevičius 502011
Skaičiavimų spartinimas: x86
1985 1990 2000 2008
Pirmoji karta:
Dažnis ir architektūra
Antroji karta:
Homogeniškos kelių branduolių
sistemos
Trečioji karta:
Heterogeniškos kelių branduolių
sistemosDidesnis dažnis = didesnis našumas
Didesnis pralaidumas =
didesnis našumas
Tinkamiausia užduočiai
aparatūra = didesnis našumas, energ.efektyvumas ir mažesnė kaina
©S.Maciulevičius 512011
Skaičiavimų spartinimas
Į turinį
©S.Maciulevičius 522011
CPU ir grafika
©S.Maciulevičius 532011
Intel Larrabee
Larrabee branduolys yra x86 tipo:
Branduolys kurtas Pentium branduolio pagrindu tačiau gerokai modifikuotas:
Palaiko 64 bitų operacijas, Turi didesnius L1 kešus (po 32
KB), Turi vidinį L2 kešą (256 KB), Palaiko 4-way SMT/Hyper
Threading, Turi 16 komponenčių (32 bitų
FP) vektorinį ALU Jis lygiagrečiai inicijuoja
dviejų operacijų vykdymą
©S.Maciulevičius 542011
Intel Larrabee Procesorius turėtų daug branduolių, apjungtų
dvikrypte žiedine magistrale (512 bitų kiekviena kryptimi):
©S.Maciulevičius 552011
Intel Larrabee
Intel SC09 konferencijoje demonstravo Larrabee galimybes: 16 branduolių variantas (2,0 GHz dažnis, 150 W), kai dirbo pusė branduolių, pasiekė 417 Gflopų našumą, o kai buvo įjungti visi resursai – 825 Gflopų
Norėdami pasiekti 1 Tflopo ribą, inžinieriai panaudojo forsavimo priemones, ir tai davė 1006 GFlopų
©S.Maciulevičius 562011
Intel Larrabee
Intel neseniai džiaugėsi Larrabee galimybėmis, tačiau kol kas susilaiko nuo šio (video)procesoriaus gamybos (regis, planai tik atidedami)
Dabar firma nusprendė koncentruoti savo pajėgas CPU ir grafikos posistemio integravimui
Tokie yra procesoriai Westmere su integruotu videobranduoliu
©S.Maciulevičius 572011
GPU ir grafika
Kodėl grafinių procesorių sparta didėja greičiau nei CPU? CPU projektuotojai pagrindinį dėmesį skiria
komandų lygmens lygiagretumui didinti – perėjimų prognozei, vykdymuo ne eilės tvarka ir pan.
Iš prigimties aukštas grafinių skaičiavimų lygiagretumo laipsnis leidžia visas jėgas skirti tiesioginei skaičiavimo spartai didinti
©S.Maciulevičius 582011
GPU galimybės
Pirmieji grafiniai procesoriai turėjo fiksuotų funkcijų konvejerius, kurių išėjimuose buvo gaunamos 8 bitų spalvų kodus
Palaipsniui grafinių procesorių galimybės augo, ir dabar jau turime šiuolaikinius grafinius procesorius, kurie pasižymi aukštomis programavimo galimybėmis, kartu palaikydami vektorizuotas slankaus kablelio operacijas su įprasto tikslumo skaičiais (32 bitų)
©S.Maciulevičius 592011
GPU galimybės
Tad dėl vis didėjančios darbo spartos ir tikslumo bei programavimo galimybių augimo grafiniai procesoriai tampa patrauklia ir bendrosios paskirties skaičiavimų platforma
2002 metais pasirodė terminas GPGPU (General-Purpose computation on Graphics Processing Units ) - bendrosios paskirties skaičiavimai naudojant grafinius procesorius
©S.Maciulevičius 602011
Bendrosios paskirties GPU
Grafinių procesorių demonstruojamas skaičiavimų našumas – stulbinantis
Pavyzdžiui, GeForce 8800 dar 2006 m. paprastuose testuose parodė 330 GFlops našumą. 2008 m. pasiektas jau Tflops našumas.
Toks vis augantis grafinių procesorių našumas paskatino tyrimus, skirtus GPU panaudojimui įprastiems skaičiavimams
©S.Maciulevičius 612011
GPU realizacijos
AMD FireStream — GPGPU technologija, įgalinanti programuotojams realizuoti algoritmus, kurie būtų vykdomi ATI firmos GPU.
CUDA — Nvidia firmoje sukurta GPGPU technologija, įgalinanti programuotojams C kalboje realizuoti algoritmus, kurie būtų vykdomi ne žemesnės kaip 8 kartos GeForce GPU (GeForce 8 Series, GeForce 9 Series, GeForce 200 Series), Nvidia Quadro ir Nvidia Tesla.
DirectCompute — “šeideris” (Compute Shader –vienos iš grafinio konvejerio pakopų programa, nustatanti galutinius objekto ar vaizdo parametrus).
OpenCL — programavimo kalba, skirta uždaviniams su lygiagrečiaisiais skaičiavimais įvairiuose GPU ir CPU
©S.Maciulevičius 622011
Bendrosios paskirties GPU
Tyrinėtojai grafinį procesorių naudoja kaip koprocesorių skaičiavimams paspartinti
Žinoma, dėl specializuotos architektūros ypatumų GPU gerai tinka ne bet kokiems algoritmams realizuoti.
Daugeliui taikomųjų uždavinių būdingas nuoseklus apdorojimas, neprognozuoti kreipiniai į atmintį. Tačiau nemaža svarbių uždavinių reikalauja gana galingų skaičiavimo resursų ir neblogai derinasi su GPU būdinga daugelio branduolių architektūra
©S.Maciulevičius 632011
Bendrosios paskirties GPU
O kai kurie uždaviniai dirba su labai dideliais duomenų masyvais, ir čia GPU galimybės gali būti puikiausiai panaudotos
Tinkamai parinktas algoritmas, perkeltas į GPU platformą, dažnai padeda 5-20 kartų padidinti našumą lyginant su šiuolaikiniais įprastais procesoriais, o ypač tinkami GPU architektūrai algoritmai realizuojami net šimtą kartų greičiau
Į turinį
©S.Maciulevičius 642011
Nvidia CUDA
Grafiniai skaičiavimai gali būti panaudojami ir dirbant su slankaus kablelio skaičių masyvais
Tad šiandien problema yra ta, kad GPGPU panaudojimui reikia turėti atitinkamą programinę įrangą
Tam Nvidia ir sukūrė CUDA (Compute Unified Device Architecture) – bendrosios paskirties lygiagrečiųjų skaičiavimų architektūrą, kuri panaudoja Nvidia GPU skaičiavimams su slankaus kablelio skaičiais
©S.Maciulevičius 652011
CUDA technologija
Panaudojamos didelio skaičiaus grafinių branduolių galimybės
Skaičiavimo gijos gali komunikuoti ir kooperuoti grafiname procesoriuje
Sudėtingiems skaičiavimo uždaviniams galima naudoti standartinę C kalbos sąsają
Tradicinių CPU galimybės papildomos iš prigimties lygiagrečių programų apdorojimu GPU
GPU resursai išnaudojami ir kitaip, nei priimta grafiniuose skaičiavimuose
©S.Maciulevičius 662011
Nvidia CUDA
©S.Maciulevičius 672011
CUDA skaičiavimų eiga
1. Duomenys kopijuojami iš pagrindinės atminties į GPU atmintį
2. CPU nukreipia skaičiavimus į GPU
3. GPU vykdo (lygiagrečiai) programos kodą kiekviename branduolyje
4. Rezultatai kopijuojami iš GPU atminties į pagrindinę atmintį
©S.Maciulevičius 682011
CUDA progr. įrang. architektūra
CUDA programinė įranga yra sudaryta iš kelių sluoksnių:
• aparatinės įrangos tvarkyklės,
• aplikacijų programavimo sąsajos (API) ir
• dviejų bendros paskirties aukšto lygio matematinių bibliotekų
©S.Maciulevičius 692011
Nvidia CUDA našumas
N kūnų gravitacinės sąveikos erdvėje modeliavimas
Į turinį
©S.Maciulevičius 702011
Kontroliniai klausimai
1. Kokia grafinės plokštės paskirtis?
2. Kuo ypatingos grafinės atmintys?
3. Kokius grafinės atminties tipus žinote?
4. Kuo ypatingi grafiniai akceleratoriai (procesoriai)?
5. Kuo skiriasi CPU nuo GPU?
6. Ką vadiname įterptine grafika?
7. Ką vadiname perjungiama grafika?
©S.Maciulevičius 712011
Kontroliniai klausimai
7. Kas yra SLI?
8. Kas yra CrossFire?
9. Kokiu keliu buvo spartinami skaičiavimai?
9. Kokia buvo Larrabee idėja?
10. Ką reiškia santrumpa GPGPU?
11. Kas yra CUDA?