Hirdetés

2017. november 17., péntek

Hozzászólások

(#1) Cifu


Cifu
(PH! nagyúr)
LOGOUT blog

Ennek mi a gyakorlati haszna? Mert lehet csak én vagyok túl laikus, de számomra ez nem derül ki a hírből.

Vulkan-t lehet használni majd felhasználói programoknál (a címből ezt sejtem), vagy az OpenCL hardware-eket lehet használni Vulkan API-t használó játékoknál? :F

Mi értelme van Vulkan API-t használni felhasználói programoknál? Ez lehet az OpenCL kvázi utódja is, és ezért fontos a OpenCL kódok integrálása, hogy a meglévő modulokat fel tudják használni és ne kelljen a nulláról kezdeni a fejlesztést?

[ Szerkesztve ]

A csapatmunka nagyon fontos: rajtad kívül másra is lőhetnek!

(#2) Abu85 válasza Cifu (#1) üzenetére


Abu85
(HÁZIGAZDA)

Leginkább az, hogy a GLSL compute shader eléggé limitált ahhoz képest, amit az OpenCL C nyelv tud. Ezáltal sokkal célszerűbb lesz OpenCL C-ben írni compute shadert. Valószínűleg a Khronos Group ezzel reagálja le a HLSL 6-ot. Igazából a nézőpontjukból érthető. Az OpenCL C egy tök jó nyelv, csak meg kell oldani a befordítását Vulkan API-ba.

A semmi az nem nincs, hanem van. Ha a semmi van, akkor nincs semmi, de ha nincs semmi, akkor valami van, de az nem semmi.

(#3) Cifu válasza Abu85 (#2) üzenetére


Cifu
(PH! nagyúr)
LOGOUT blog

Az én olvasatomban azt jelentik az általad leírtak, hogy gyakorlatilag a játékoknál fog számítani első sorban. Vagyis gyakorlatilag OpenCL-ben kell majd a compute shadereket lekódolni, és ezt használják majd a fejlesztők, így ugorva át az OpenGL limitációit - ha jól értem.

Van valami ismert limitáció ezen felül, pl. csak OpenCL 2.x képes hardvereken működik, vagy hasonló?

A csapatmunka nagyon fontos: rajtad kívül másra is lőhetnek!

(#4) Blazs120gl válasza Cifu (#1) üzenetére


Blazs120gl
(tag)

Nemcsak játék vagy grafikai output lehet Vulkan-os alkalmazás. Az OpenCL is általános célú.

A Vulkan-nal hatékonyabban lehet az erőforrásokat számítási feladatok végrehajtására felhasználni. Alacsonyabb de többmagos procik (pl. laptop, mobil, alacsonyabb IPC-s processzorok) profitálnak az extra teljesítményből (pl. egy egymagos OpenGL state machine-hez képest), illetve alacsonyabb órajelen több mag kevesebbet fogyaszt, mint egy turbó órajelen futó egyetlen mag, így pl. akkumulátor idő vagy TDP headroom nyerhető. Viszont az SPIR-V nem az a nyelv, amiben bárki szívesen megfogalmazná a megoldandó problémáját :D. Ezért is jó hogy egyre több létező nyelven 'ért' a Vulkan :)

Pl. meg lehet azt csinálni, hogy integrált vga-val és dedikált GPU-val szerelt PC-n egy program (pl. játék) képes Vulkan-on keresztül a VGA kártyán grafikát számolni, míg ezzel párhuzamosan az integrált VGA-n OpenCL-ben fizikai motort futtatni (pl. bullet-nek van OpenCL-es verziója), mindezt anélkül, hogy a fizikai motor a CPU-t terhelné. Vagy egy CPU által limitált felhasználásban (= a GPU-t nem lehet kihasználni) a GPU CU-k részét használja fel OpenCL-ben megadható feladat megoldására.

És igen, nem utolsó érv, hogy az OpenCL-ben megírt kódot (nem feltétlen shader) nem a készülő rendszerben kell tesztelni, hanem lehet egy már kész, bevált elem.

Hogy az utódja lenne? Igazából a kettő egymásnak nem alternatívája. A Vulkan a 'hogyan' kérdésre a válasz, míg az OpenCL/SPIR/shader/akármi inkább a 'mit' kérdésre válaszol.

Copyright © 2000-2017 PROHARDVER Informatikai Kft.