Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2.ZrozumiećGPU
15
wedługokreślonychregułizaleceń.Jednakdopierozaglądającbezpośredniodo
architekturyGPU,możemyuzmysłowićsobieskalęczekającychnanasproblemów
orazzrozumiećrozwiązania,optymalizacjęlubsztuczki,którebędziemystosować,
abysiętychproblemówpozbyć.
Jakzapewnewiadomo,obecnienarynkukomputerówosobistychnajwiększy-
miproducentamidesktopowychukładówgracznychsąNvidia,AMDorazIntel,
zczegodwiepierwszerywalizujązesobąnapoluwydajnościowym,aIntelzkolei
budujemożenietakwydajne,alezatobardziejpowszechneukładyzintegrowane
zprocesoremcentralnym.Procesorygracznekażdegoztychproducentówpod
względemarchitektonicznymżniąsiędośćznacznie,cooczywiściewpływana
sammodelprzetwarzania.Ponadto,każdyzproducentówudoskonalawłasną
architekturęwrazzpostępemtechnologicznym.Myjednakwmniejszymstopniu
będziemyskupiaćsięnażnicach,abardziejnacechachwspólnychtychGPU.
Zuwagirównieżnawiększąatrakcyjnośćwydajnościowąukładówprodukowanych
przezrmyNvidiaorazAMD,poniższyopisbędziedotyczyłprzedewszystkim
układówtychproducentów.
2.2.1.GPUversusCPU
ZarównoGPU(ang.graphicsprocessingunit),jakiCPU(ang.centralprocessing
unit)sąukładamistworzonymidoprzetwarzaniadanych,znajdującychsięwcałej
dostępnejdlanichpamięci(dedykowanejlub,corazczęściej,współdzielonej).
Niejestjednaktak,żesąonewzględemsiebiezamienne(rys.2.1).Sątoukłady
wyspecjalizowanewrealizowaniuobliczeńżnejkategorii.CPUjestukładem
złożonymzniewielkiejliczbyrdzenioszerokichmożliwościachobliczeniowych,
wykonującychrównoległe,niezależneodsiebiewątki.Jestbardziejdostosowany
dopracynadkodem,któryjestwdużymstopniusekwencyjny.GPUzkoleijest
złożonezsetek,aodpewnegoczasunawettysięcyrdzeni,któreniesątaksa-
modzielnejakte,znajdującesięwCPU,gdyżsąwykonywanewzarządzanych
grupach(szczegóływp.2.2.2).Jednakliczbatychrdzenipozwalauzyskiwaćnie-
samowitąwydajnośćwoperacjach,któredająsięzrównoleglićiktóresąwtym
względziewysokoskalowalne.Jesttozatemidealnemiejscedlaalgorytmówprze-
twarzaniaobrazów,renderowaniageometriiczyogólniepojętejgraki3D,gdzie
sąprzetwarzanewsposóbrównoległyolbrzymieliczbywierzchołkówipikseli.
Procesorgrakiniejestniezależnąjednostką,wtakimsensie,żepraca,jaką
wykonuje,jestmunajczęściejzlecanazpoziomuprocesoracentralnego2.Istnieje
tuzatempewnaanalogiadohierarchiimaster/slave.Corazczęściejjednakobydwa
2Powolizaczynasiętozmieniać.WostatnichlatachwprowadzasiędoukładówGPUme-
chanizmonazwieDynamicParallelism,którypozwalatworzyćnowegrupywątkówidostarczaćim
pracębezpośredniozGPU(bezudziałuCPU).MimotoCPUnadalpozostajecentralnympunktem
inicjującymwykonanieobliczeńidostarczającymdane.