Egységes shader modell

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. július 18-án felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

Az Unified shader modell két hasonló, de ugyanakkor különálló fogalom leírására szolgál: egy egységes árnyékoló architektúra  ( angolul Unified Shading Architecture ), amely a hardver szintjét írja le, és egy egységes árnyékoló modell , amely a szoftverréteget írja le. .  

Egységes árnyékoló modell

Az Unified Shader Model, amelyet a Direct3D 10 Shader Model 4.0 néven ismer, konzisztens (hasonló) parancskészletet használ minden shadertípushoz [1] . Minden típusú árnyékoló nagyon hasonló képességekkel rendelkezik - képesek "olvasni" a textúrákat , az adatpuffereket és végrehajtani ugyanazt az aritmetikai utasításkészletet.

Az utasításkészlet azonban nem teljesen egyforma minden shader típusban; például csak a pixel shader képes beolvasni az implicit koordináta gradiensekkel rendelkező textúrákat; és csak a geometria árnyékoló tud további primitíveket renderelni, és így tovább [1] .

A korai shader modellek (Shader Model 1.x) nagyon eltérő utasításkészleteket használtak a vertex és pixel shaderekhez, ahol a vertex shaderek sokkal rugalmasabb utasításkészlettel rendelkeztek. A későbbi shader modellek (2.x és 3.0) egyre inkább csökkentették a különbségeket, ami egy egységes shader modellhez vezetett.

Egységes shader architektúra

Ha egy GPU támogatja az egységes árnyékoló modellt, akkor célszerű számítási egységeit úgy megtervezni, hogy ezek bármelyike ​​bármilyen típusú shadert végrehajthasson. Ha a GPU számítási egységek „egységesek”, azaz bármilyen típusú shader programot képesek végrehajtani, ezt „Unified Shader Architecture”-nak nevezik. Az ilyen GPU-k leggyakrabban számítási egységek tömbjéből és dinamikus ütemező/terheléselosztási egységekből állnak, hogy a shader program végrehajtását elosztják az összes számítási egység között.

A hardvernek nem szükséges egységes árnyékoló-architektúrával rendelkeznie az egységes árnyékoló modell támogatásához, és fordítva. A Direct3D 10-re képes GPU-k továbbra is rendelkezhetnek dedikált geometria-, csúcs- és pixelprocesszorokkal. A Shader Model 3.0-t támogató technológiailag régebbi GPU-k részben végrehajthatják a Unified Shader Modelt is, amint az Xbox 360 játékkonzolhoz készült Xenos GPU-nál látható .

Az egyesített shader architektúra a GPU-erőforrások rugalmasabb felhasználását teszi lehetővé [2] . Például erős szintű geometria-szimuláció esetén az egységes árnyékoló architektúra az összes GPU egységet használhatja a csúcs- és geometria-shaderek kiszámításához. És fordítva; Ha a geometria nem bonyolult, de sok összetett pixelhatást szimulálnak, mint például a Parallax okklúziós leképezés , a részecskerendszer és így tovább, akkor az összes számítási egység pixel shader végrehajtására irányítható.

Az egységes shader architektúrát a GeForce 8 , Radeon R600 , S3 Graphics Chrome 400 GPU-k támogatják, Intel GMA X3000, Xbox 360 GPU , Qualcomm Adreno 200 sorozat , Mali Midgard, PowerVR SGX GPU és még tovább.

Jegyzetek

  1. 1 2 Common Shader Core (DirectX HLSL) . Microsoft. Letöltve: 2008. augusztus 17. Az eredetiből archiválva : 2012. április 4..
  2. Loyd-ügy. GeForce 8800 GTX: 3D architektúra áttekintése . ExtremeTech (2006. november 8.). Az eredetiből archiválva : 2006. november 11.

Linkek