Vulkan, le nuove API che raccolgono il testimone delle OpenGL

Vulkan, le nuove API che raccolgono il testimone delle OpenGL

Il Khronos Group, un consorzio formato da esperti hardware e software, ha annunciato al GDC di San Francisco un nuovo standard grafico, presentato come il successore delle OpenGL.

di Rosario Grasso pubblicata il , alle 17:31 nel canale Videogames
 

In occasione del Game Developers Conference di San Francisco, il Khronos Group ha svelato le nuove API di basso livello Vulkan, definite come lo standard che raccoglie il testimone delle OpenGL, oggi utilizzate soprattutto nell'ambito del mobile gaming, ma che in passato hanno ricoperto un ruolo di riferimento per tutto il settore dello sviluppo di videogiochi.

Vulkan

"Per decenni abbiamo considerato le OpenGL come lo standard royalty-free per la grafica, e adesso Vulkan costituisce l'evoluzione di quelle API", ha detto Neil Trevett, presidente dell'associazione nonprofit Khronos Group che vede come membri alcuni dei più importanti brand del mondo IT come Intel, AMD, NVIDIA e Valve. "Abbiamo delle API molto efficaci, che crediamo possano essere ampiamente utilizzate sia nella grafica che per il computing".

Le OpenGL nell'ultimo periodo avevano perso posizioni anche per l'instaurazione di nuovi standard proprietari, come nel caso di Metal di Apple. Queste ultime rimuovono buona parte dell'overhead che invece caratterizza le OpenGL e consentono agli sviluppatori una programmazione più diretta dell'architettura hardware. Quello che sta facendo il Khronos Group è, quindi, adeguarsi ai tempi, offrendo un approccio simile anche per le OpenGL, con una nuova versione che prima era conosciuta anche come Next Generation OpenGL.

Le API Vulkan consentiranno di sfruttare le risorse della GPU anche per quelle applicazioni non necessariamente grafiche. Alla base del nuovo standard troviamo la tecnologia di compilazione SPIR-V, insieme alla nuova versione dello standard OpenCL 2.1 per la programmazione parallela e la capacità di sfruttare la GPU per scopi eterogenei.

SPIR introdurrà C ++ come linguaggio di compilazione ed eliminerà la necessità di utilizzare un compilatore di linguaggio ad alto livello, riducendo allo stesso tempo la complessità dei driver della GPU. Sia Vulkan che OpenCL 2.1 condivideranno SPIR-V.

Vulkan consentirà agli sviluppatori di avere un controllo diretto sui carichi di lavoro di GPU e CPU in modo da migliorare le prestazioni e la prevedibilità. "Tutti i produttori di GPU stanno supportando Vulkan perché consente di superare uno dei maggiori ostacoli esistenti oggi nel mondo dello sviluppo di videogiochi: ovvero, a causa dei colli di bottiglia della CPU, è impossibile sfruttare il massimo potenziale della GPU", ha detto Trevett. "La community del software, guidata dai creatori di motori grafici, ci supporta con altrettanto entusiasmo".

"Grazie all'influenza che hanno avuto su diverse generazioni di hardware e software, le OpenGL sono state senza dubbio le API grafiche 3D di maggior successo nella storia dell'industria", ha aggiunto Raja Koduri, corporate vice president of visual and perceptual computing di AMD. "Vulkan è la trasformazione delle OpenGL che riduce l'overhead per migliorare le prestazioni e l'efficienza energetica, mantenendo lo stesso livello di produttività per gli sviluppatori".

Le OpenGL sono state create 25 anni fa, ma nel corso di tutto questo tempo le architetture delle GPU sono cambiate in maniera considerevole, mentre nuove necessità sono state introdotte dagli universi console e mobile. In certi contesti, Vulkan subirà la competizione delle DirectX 12, del già citato Metal e di Mantle di AMD, ma la loro natura di API aperte e royalty-free può essere di forte interesse per diversi tipi di studi di sviluppo.

Entro la fine dell'anno saranno comunicate le specifiche definitive delle nuove API.

7 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
LMCH03 Marzo 2015, 17:45 #1
Veramente una buona notizia.
Con SPIR-V si hanno prestazioni paragonabili a codice nativo compilato ed ottimizzato ad hoc per la specifica combinazione di cpu e gpu su cui viene installata l'applicazione.
La cosa è portabile tra sistemi operativi diversi e sopratutto semplifica lo sviluppo dei driver "di base" per nuove GPU usando pure il C++
(e questo semplifica enormemente il riuso di codice già sviluppato, ecc. ecc.).
AlexWolf03 Marzo 2015, 18:59 #2
scusate l'OT ma hanno clonato i nomi da Star Trek? a parte Vulkan...poi citano Khronos e infine Next geration.... mancava solo LLAP...
OT chiuso...

ma l'OPEN GL se non sbaglio è molto sfruttato ancora dai vari software CAD che fanno uso di nurbs...
Donbabbeo03 Marzo 2015, 19:28 #3
Originariamente inviato da: AlexWolf
ma l'OPEN GL se non sbaglio è molto sfruttato ancora dai vari software CAD che fanno uso di nurbs...


Certo, difatti non si parla di abbandono di OpenGL, anzi. Vulkan è una libreria di basso livello che riduce al minimo i calcoli a livello di driver della GPU, verosimilmente sarà sfruttata solo da chi produce engine grafici, se si vuole disegnare qualcosa a schermo, siano essi videogiochi o altro, l'OpenGL resta d'obbligo.
bobafetthotmail04 Marzo 2015, 09:22 #4
Originariamente inviato da: AlexWolf
ma l'OPEN GL se non sbaglio è molto sfruttato ancora dai vari software CAD che fanno uso di nurbs...
Vulkan lo chiamavano OpenGL Next prima, quindi è una evoluzione della stessa roba. Hanno ribrandizzato la nuova versione per esprimere maggiormente che è un passo avanti bello grosso.

Che gestisca varie cose in modo diverso ha poca importanza, è uno standard che non rimpiazza gli standard vecchi, e come prima una GPU che supporta OpenGL n è in grado di far girare programmi che richiedono la OpneGL n-1, anche adesso una GPU che tiene Vulkan sarà in grado di far girare la roba in OpenGL alle versioni più vecchie.
A discrezione di chi la produce è ovvio.

Vulkan è una libreria di basso livello che riduce al minimo i calcoli a livello di driver della GPU, verosimilmente sarà sfruttata solo da chi produce engine grafici, se si vuole disegnare qualcosa a schermo, siano essi videogiochi o altro, l'OpenGL resta d'obbligo.
Non ho capito.
Gli engine grafici non li usano nei giochi o nei software che devono disegnare qualcosa a schermo?
Donbabbeo04 Marzo 2015, 20:30 #5
Originariamente inviato da: bobafetthotmail
Non ho capito.
Gli engine grafici non li usano nei giochi o nei software che devono disegnare qualcosa a schermo?


Esatto, se si usa un engine si astrae dalla libreria grafica utilizzata, se usi Unity non devi preoccuparti di disegnare i fotogrammi, svuotare il buffer e roba simile, è lui (Unity) che se ne occupa, così come la libreria grafica che sta sotto (OpenGL o DirectX) si occupa di dialogare con il driver della scheda video.
Saranno loro (Unity e compagnia) a mettere le mani su Vulcan, lo sviluppatore amatoriale se vuole disegnare a schermo senza usare un engine grafico ad hoc continuerà ad usare OpenGL, non si metterà di certo ad usare Vulcan.
s12a04 Marzo 2015, 20:38 #6
A me sembrava di aver capito che fossero proprio in alternativa ad OpenGL, riprogettate da zero.
Ovviamente le OpenGL continueranno ad essere supportate, non si può buttare via tutto il software grafico scritto fin'ora.

https://www.khronos.org/vulkan
OptimusAl04 Marzo 2015, 23:13 #7
l'unico sito dove non si mensiona il fatto che mantle è stato usato come base per velocizzare lo sviluppo di vulkan

curiosi i nomi, MANTLE, il mantello dove sta il magma... e VULKAN, il vulcano dal quale fuoriesce... coincidenze?

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^