Unified shader
Unified Shader tarkoittaa grafiikkasuorittimen sisäistä rakennetta, jossa jokaisella vaiheella (geometria, verteksi, pikseli, ohjelmointi ym.) on samat ominaisuudet.[1] Tämä tunnetaan nimellä Shader Model 4.0 Direct3D-dokumentaatiossa.[2] Rakenne määrittelee mm. rekisterit ja niiden käyttötarkoitukset shader-ohjelmoinnissa.
Aikaisemmissa määrittelyissä oli kaksi erityyppistä suoritinyksikköä: pixel shader (pikselivarjostin) ja vertex shader (verteksivarjostin). Nykyisellään shader-yksiköt ovat monipuolisempia ja vähemmän rajoittuneita tehtäviltään. Lisäyksenä mm. compute shader (laskentavarjostin) GPGPU-käyttöön ja suorittimien luonteen muuttuminen.[3][4]
Yhdistettyjen shader-yksiköiden hyöty on parempi kuormanjako ja siten hyötysuhde; kun samat suorittimet toimivat eri tarkoituksissa grafiikkasuorittimen laskentayksiköistä saadaan helpommin parempi suorituskyky irti riippumatta siitä, mikä on tehtävän työn suhde.[5] Yhdistettyjä shader-yksiköitä kutsutaan myös stream-suorittimiksi (AMD) tai CUDA-yksiköiksi (Nvidia).[6]
Useimmissa grafiikkasuorittimissa Unified Shader -mallin noudattaminen tarkoittaa myös suorittimen ohjelmoitavuutta OpenCL- tai CUDA-tuella.
Mikroarkkitehtuurit
Unified Shader -malli ei itsessään määrittele suorittimen mikroarkkitehtuuria. Mallin toteuttavia mikroarkkitehtuureja ovat:
Lähteet
- Common-Shader Core Microsoft. Viitattu 26.1.2017.
- Shader Model 4 Microsoft. Viitattu 26.1.2017.
- An Introduction to Modern GPU Architecture Nvidia. Arkistoitu 17.5.2018. Viitattu 23.1.2017.
- A Single (Unified) Shader GPU Microarchitecture for Embedded Systems (PDF) Universitat Politècnica de Catalunya. Arkistoitu 2.2.2017. Viitattu 23.1.2017. (englanniksi)
- GPU architecture II: Scheduling the graphics pipeline (PDF) courses.cs.washington.edu. Viitattu 25.1.2017.
- Graphics Card Technology Part 1: Shader Processing Units game-debate.com. Viitattu 25.1.2017.