Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
22
Shadery.ZaawansowaneprogramowaniewGLSL
2.2.5.Modelpamięci
Równoleglewykonywaniedużejliczbywątków,wymagadostępudoolbrzymiej
ilościdanych.Abyzapewnićoptymalnewykorzystaniemocyobliczeniowejwszyst-
kichjednostekwykonawczych,wspierającyjesystempamięcimusimiećodpo-
wiedniąprzepustowośćorazstosunkowoniskieopóźnienia.
Ogólnymodelpamięci
TypowajednostkawykonawczamadostępdokilkuregionówpamięciGPU.Każdy
znichmainneprzeznaczenieorazwielkośćdostępnejpamięci.Znajdująsięone
równieżwinnejodległościodzycznegordzenia,cowpływanaichprzepusto-
wośćorazostatecznąwydajnośćwdostępiedodanych(rys.2.5).
PamLęÊGPU
9RAM
PamLęÊgOobaOna
PamLęÊpodręczna
(jednostkaarytmetyczno-
Rdzeńwykonawczy
PamLęÊwartoĂcL
PamLęÊprywatna
-OogLcznaALU)
stałych
PamLęÊOokaOnawspółdzLeOona
PamLęÊCPU
RAM
Rysunek2.5.Przykładstosowanejhierarchiipamięcizperspektywypojedynczejjednostki
wykonawczej
Pamięćprywatna
JesttoregionpamięciGPU,indywidualnydlakażdejjednostkiwykonawczej.Jej
zawartośćniejestdostępnadlasąsiednichjednostek.Służyonadoprzechowy-
waniatymczasowychdanych,wykorzystywanychwtrakciepracyjednostkiwy-
konawczej.Składasięnaniąpewnaliczbarejestrówogólnegoprzeznaczenia,
zdolnychdoprzechowywaniadanychołącznymrozmiarzedochodzącymdo
dziesiątekKB.Ichliczba,wporównaniudoarchitekturyx86CPU,jestzatem
dużowiększa.Ponadtokażdyrejestrmożepomieścićwartościorozmiarzeod
32bitówdo128bitów.Daneowiększymrozmiarzezajmująwiększąliczbęre-
jestrów.Jeżelinatomiastcałkowiciezabrakniewolnychrejestrówdozapisania
wszystkichwymaganychdanych,sąpodejmowanedziałaniazależneodkonkretnej