L'organizzazione Khronos Group ha pubblicato un aggiornamento dell'API grafica Vulkan 1.4.351. Il rilascio è di natura tecnica e include sei nuove estensioni, correzioni delle specifiche e un ulteriore sviluppo dell'infrastruttura per le future GPU e i motori di gioco.
La novità più significativa è stata l'estensione VK_KHR_shader_bfloat16, che aggiunge il supporto per il formato BFloat16 negli shader. Questo formato è ampiamente utilizzato nelle applicazioni di apprendimento automatico e accelerazione AI, consentendo di ridurre i requisiti di memoria e aumentare le prestazioni del calcolo rispetto a FP32. L'estensione è principalmente orientata verso le moderne GPU con supporto hardware per carichi AI.
Sono state inoltre incluse nella specifica:
- VK_KHR_shader_expect_assume — suggerimenti al compilatore per ottimizzare i branching;
- VK_EXT_image_sliced_view_of_3d — creazione di un 2D-view da texture 3D;
- VK_EXT_image_compression_control_swapchain — gestione della compressione delle immagini nel swapchain;
- aggiornamenti per il tracciamento dei raggi e per l'infrastruttura SPIR-V;
- ulteriori chiarimenti sul comportamento del memory model e della sincronizzazione.
Gli sviluppatori di Mesa hanno già avviato l'integrazione delle nuove funzionalità in RADV e ANV, mentre NVIDIA e AMD hanno aggiornato le specifiche interne dei driver. Parte delle estensioni apparirà nelle future versioni di DXVK, VKD3D-Proton e nei motori di gioco basati su Unreal Engine e Unity.
Si segnala inoltre che Khronos prosegue il percorso verso una graduale integrazione dei carichi grafici e AI all'interno di Vulkan. Il supporto per BFloat16 è visto come uno dei passi verso una più stretta integrazione delle funzionalità ML senza l'uso di API separate CUDA o ROCm.
Fonte: linux.org.ru
