Unified shader model - Unified shader model

Model unifikovaného shaderu používá stejné hardwarové prostředky pro zpracování vrcholů i fragmentů.

V oblasti 3D počítačové grafice je sjednocen modelu shader (známý v Direct3D 10 jako „ Shader Model 4.0 “) se odkazuje na formu shader hardware v grafické procesorové jednotky (GPU), kde všechny shader etap vykreslování potrubí ( geometrie, vrchol, pixel atd.) mají stejné schopnosti. Mohou všichni číst textury a vyrovnávací paměti a používají sady instrukcí, které jsou téměř identické.

Dějiny

Dřívější GPU obecně zahrnovaly dva typy shaderového hardwaru, přičemž shadery vrcholů měly podstatně více instrukcí než jednodušší shadery pixelů . To snížilo náklady na implementaci GPU jako celku a umožnilo celkem více shaderů na jedné jednotce. To bylo za cenu snížení flexibility systému a někdy ponechání jedné sady shaderů nečinných, pokud pracovní zátěž používala více než druhou. Jak zdokonalování výroby pokračovalo, stal se tento rozdíl méně užitečným. Společnost ATI Technologies představila jednotnou architekturu hardwaru, který vyvinuli pro Xbox 360 . Nvidia rychle následovala se svým designem Tesla . Společnost AMD představila o dva roky později v řadě TeraScale jednotný shader ve formě karet . Koncept je od té doby univerzální.

Časné abstrakce shaderu (například Shader Model 1.x) používaly velmi odlišné sady instrukcí pro shadery vrcholů a pixelů, přičemž shadery vrcholů měly mnohem flexibilnější sadu instrukcí. Pozdější shaderové modely (například Shader Model 2.xa 3.0) zmenšily rozdíly a blížily se k jednotnému shaderovému modelu. I v modelu Unified nemusí být sada instrukcí mezi různými typy shaderů úplně stejná; různé fáze shaderu mohou mít několik rozdílů. Shadery fragmentů / pixelů mohou vypočítat implicitní přechody souřadnic textury, zatímco shadery geometrie mohou vyzařovat vykreslovací primitiva.

Jednotná architektura shaderu

Unified shader architecture (nebo unified shading architecture ) is a hardware design that which all shader processing units of a piece of graphics hardware are able to handle any type of shading tasks. Nejčastěji se hardware Unified Shading Architecture skládá z řady výpočetních jednotek a nějaké formy systému dynamického plánování / vyvažování zátěže , který zajišťuje, že všechny výpočetní jednotky budou pracovat co nejčastěji.

Jednotná architektura shaderu umožňuje flexibilnější využití hardwaru pro vykreslování grafiky. Například v situaci s velkou zátěží geometrie by systém mohl přidělit většinu výpočetních jednotek ke spuštění shaderů vrcholů a geometrie. V případech s menším pracovním zatížením vrcholů a velkým zatížením pixelů lze ke spuštění shaderů pixelů přidělit více výpočetních jednotek.

Zatímco hardware sjednocené shaderové architektury a programovací rozhraní modelu sjednoceného shaderu nejsou vzájemně požadovány, jednotná architektura je nejrozumnější při navrhování hardwaru určeného k podpoře API nabízejícího jednotný model shaderu.

OpenGL 3.3 (který nabízí model jednotného shaderu) lze stále implementovat na hardware, který nemá jednotnou architekturu shaderu. Podobně hardware, který podporoval rozhraní API unifikovaného shaderu, by mohl být založen na jednotné architektuře shaderu, jako je tomu například v případě grafického čipu Xenos v konzole Xbox 360 .

Jednotná architektura shaderu byla představena u řady Nvidia GeForce 8 , ATI Radeon HD 2000 , S3 Chrome 400 , řady Intel GMA X3000, GPU pro Xbox 360 , řady Qualcomm Adreno 200 , Mali Midgard, GPU PowerVR SGX a používá se ve všech následujících sériích.

Nvidia

ATI / AMD

Reference