La nuova versione di Vulkan 1.3 è già stata rilasciata e queste sono le sue novità

Dopo due anni di lavoro, Khronos ha annunciato il rilascio della nuova versione della specifica Vulkan 1.3. La nuova specifica incorpora correzioni e aggiunte accumulate in due anni.

Oltre ad esso è stato presentato un piano per implementare il supporto per la nuova specifica ed estensioni aggiuntive nelle schede grafiche e nei driver di dispositivo. Intel, AMD, ARM e NVIDIA stanno preparando prodotti compatibili con Vulkan 1.3.

Ad esempio, AMD ha annunciato che il supporto per Vulkan 1.3 sarà presto disponibile sulla serie di schede grafiche AMD Radeon RX Vega, nonché su tutte le schede basate sull'architettura AMD RDNA. NVIDIA si sta preparando a rilasciare driver compatibili con Vulkan 1.3 per Linux e Windows e ARM aggiungerà il supporto Vulkan 1.3 alle GPU Mali.

Per chi non lo sa Vulcano, dovrebbero sapere che questo è un'API che si distingue per la semplificazione cardinale dei controller, la rimozione della generazione di comandi GPU lato applicazione, la possibilità di collegare livelli di debug, l'unificazione delle API per varie piattaforme e l'uso del rendering di codice intermedio precompilato per l'esecuzione lato GPU.

Per garantire prestazioni elevate e prevedibilità, Vulkan fornisce alle applicazioni il controllo diretto sulle operazioni della GPU e il supporto integrato per il multithreading della GPU., che riduce al minimo il sovraccarico del controller e rende le funzionalità lato controller molto più semplici e prevedibili. Ad esempio, le operazioni come la gestione della memoria e la gestione degli errori implementate in OpenGL sul lato driver vengono spostate al livello dell'applicazione in Vulkan.

Vulkan copre tutte le piattaforme disponibili e fornisce un'unica API per desktop, dispositivi mobili e Web, consentendo l'utilizzo di un'API comune su più GPU e applicazioni. Con l'architettura multilivello di Vulkan che crea strumenti che funzionano con qualsiasi GPU, gli OEM possono utilizzare strumenti generici per la revisione del codice, il debug e la profilazione durante lo sviluppo.

Principali novità di Vulkan 1.3

In questa nuova versione di Vulkan 1.3 che viene presentata, viene evidenziato cheLa specifica SPIR-V 1.6 è stata aggiornata per definire una rappresentazione intermedia degli shader che sia universale per tutte le piattaforme e può essere utilizzato sia per la grafica che per il calcolo parallelo. SPIR-V prevede la separazione di una fase di compilazione dello shader separata in una rappresentazione intermedia, consentendo la creazione di interfacce per vari linguaggi di alto livello. Basato su diverse implementazioni di alto livello, viene generato separatamente un unico codice intermedio che può essere utilizzato dai driver OpenGL, Vulkan e OpenCL senza utilizzare il compilatore shader integrato.

Un altro cambiamento che spicca è che se propone il concetto di profili di compatibilità. Google è il primo a sviluppare un profilo base per la piattaforma Android che renderà più semplice determinare il livello di supporto per le funzionalità avanzate di Vulkan su un dispositivo che va oltre la specifica Vulkan 1.0. Per la maggior parte dei dispositivi, il supporto del profilo può essere fornito senza installare gli aggiornamenti OTA.

Il supporto implementato per passaggi di rendering semplificati (Streamlining Render Passes, VK_KHR_dynamic_rendering) che consentono di avviare il rendering senza creare passaggi di rendering e oggetti framebuffer.

Inoltre sono state aggiunte nuove estensioni per rendere più semplice la gestione della compilazione di una pipeline di grafi:

  • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 – Aggiunge stati dinamici aggiuntivi per ridurre il numero di oggetti di stato compilati e allegati.
  • VK_EXT_pipeline_creation_cache_control: fornisce un controllo esteso su quando e come creare pipeline.
  • VK_EXT_pipeline_creation_feedback: fornisce informazioni sulle pipeline compilate per facilitare la profilazione e il debug.

Vengono, invece, evidenziate anche alcune funzionalità che sono state spostate da facoltative a obbligatorie. Ad esempio, ora è obbligatorio implementare riferimenti al buffer (VK_KHR_buffer_device_address) e il modello di memoria Vulkan, che definisce come i thread paralleli possono accedere ai dati condivisi e alle operazioni di sincronizzazione.

Oltre ad esso viene fornito un controllo dettagliato dei sottogruppi (VK_EXT_subgroup_size_control) in cui i provider possono supportare più dimensioni di sottogruppi e gli sviluppatori possono scegliere qualsiasi dimensione desiderino.

È stata fornita un'estensione VK_KHR_shader_integer_dot_product che può essere utilizzato per ottimizzare le prestazioni dei framework di apprendimento automatico attraverso operazioni con prodotti puntuali con accelerazione hardware.

Infine va notato che i requisiti delle specifiche Vulkan 1.3 sono progettati per hardware grafico di classe OpenGL ES 3.1, che garantirà il supporto per la nuova API grafica su tutte le GPU che supportano Vulkan 1.2.

Il rilascio del toolkit Vulkan SDK è previsto per metà febbraio. Oltre alle specifiche di base, come parte della Vulkan Milestone Edition sono previste estensioni aggiuntive per desktop e dispositivi mobili di fascia media e alta.

Infine, se sei interessato a saperne di più, puoi consultare i dettagli nella sezione seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.