Hirdetés

Még idén megjelenik az NVIDIA OpenCL 1.2-es meghajtója

Az NVIDIA az idei GTC-n ugyan nem kürtölte világgá, de elhintették, hogy az elkövetkező pár hónapban továbbfejlesztik az aktuális OpenCL meghajtójukat. Utóbbi jelenleg a teljesen kiöregedettnek tekinthető OpenCL 1.1-es szabványt támogatja, de információink szerint az év közepe felé befut egy OpenCL 1.2-es eszközillesztő is. Az új meghajtó emellett kezelni fogja a SPIR-V-t is, igaz ezt valamivel később vezetik be.

Fontos kiemelni, hogy az NVIDIA elsődlegesen itt a Vulkan API-ra fókuszál, mivel utóbbi megköveteli a SPIR-V támogatását, mindeközben a SPIR-V minimálisan előírja az OpenCL 1.2-es meghajtó meglétét. Az újítások tehát egy kényszerű döntésből születnek meg, így a vállalat továbbra sem koncentrál az OpenCL-re, de a Vulkan API-t a részletezett újítások nélkül nem lehet támogatni.

A Khronos Grouptól megtudtuk, hogy a SPIR-V-re épülő Vulkan API alapvető célja, hogy több nyelven is lehessen shader programokat írni. Az aktuális tervek szerint négy alapvető opció áll majd rendelkezésre: GLSL 4.5, OpenCL 1.2 C, OpenCL 2.0 C és OpenCL 2.1 C++. Emellett a fejlesztők megkapják a lehetőséget, hogy saját shader nyelvet is létrehozzanak, ha a felkínált lehetőségek közül egyik sem fedi le az igényeket.

A legjobb nyelvek azonban csak opciók, mivel kötelezően csak a GLSL 4.5 és az OpenCL 1.2 C támogatása van előírva. Az sem baj azonban, ha az adott gyártó nem fogja, tudja, vagy akarja támogatni az OpenCL 2.0 C-t és az OpenCL 2.1 C++-t, mivel a Vulkan API úgy lett felépítve, hogy az elérhető nyelveket a programfuttatás elején ellenőrizze a rendszer, így ha valamelyik nyelvre hiányzik a támogatás, akkor az ahhoz tartozó effekteket a program automatikusan letilthatja. Ebből a szempontból a GLSL 4.5 és az OpenCL 1.2 C elég az NVIDIA számára, mivel a Vulkan API-ra épülő programok így is futnak majd, csupán az OpenCL 2.0 C-ben és az OpenCL 2.1 C++-ban írt shaderekhez tartozó effektek nem lesznek aktiválhatók.

Arra is érdemes kitérni, hogy az NVIDIA döntése jelen formában erősen politikai töltetű. Ha a fejlesztők nagyon akarják, akkor hónapok alatt kierőszakolhatják a cégtől az OpenCL 2.1 támogatását is, ehhez csak az kell, hogy pár fontosabb effektet a Vulkan API-hoz ne GLSL 4.5-ben, OpenCL 1.2 C-ben, vagy saját nyelven írjanak, hanem OpenCL 2.1 C++-ban. Ha ez megtörténik, akkor a zöldek gyorsan hozzák majd az OpenCL 2.1-es meghajtókat (ehhez nem szükséges új hardver sem), mivel a játékosok nem fogják elnézni azt, hogy az NVIDIA piacpolitikai nézetei miatt nem kapcsolhatnak be minden grafikai extrát. Persze ehhez pár játéknál több kell majd, mivel a CUDA számára az OpenCL 2.1 támogatása nagyon káros lenne, de a Khronos Group a Vulkan API-val egy nagyon jó csalit helyezett ki, amire az NVIDIA már ráharapott, így csak az a kérdés, hogy meddig küzdenek az iparág érdeke ellen.

Azóta történt

Előzmények

Hirdetés