OpenCL 3.1

Il 5 maggio, il consorzio Khronos ha presentato la specifica OpenCL 3.1 — un aggiornamento del standard aperto per l'elaborazione cross-platform su CPU, GPU, DSP, NPU e altri acceleratori. Il rilascio coincide con la conferenza IWOCL 2026 e sviluppa il modello OpenCL 3.x, in cui alcune funzionalità vengono inizialmente testate come estensioni e successivamente integrate nel nucleo obbligatorio dello standard.

La principale novità di OpenCL 3.1 è il supporto obbligatorio per il caricamento dei kernel computazionali nel formato SPIR-V in tutte le implementazioni compatibili. SPIR-V è utilizzato come rappresentazione intermedia portabile, che può essere generata, in particolare, attraverso LLVM/Clang e SPIR-V LLVM Translator. Questo dovrebbe semplificare l'uso di OpenCL come backend per SYCL, chipStar e compilatori specializzati, e consentire di distribuire i kernel non come codice sorgente, ma in una forma intermedia precompilata.

Nel nucleo di OpenCL 3.1 sono state inoltre integrate funzionalità importanti per carichi di lavoro AI e HPC: subgruppi con operazioni di shuffle/rotate e un set ampliato di tipi, prodotti scalari di numeri interi con varianti di saturazione e accumulo, nuove operazioni bitwise, richiesta della dimensione consigliata del gruppo di lavoro locale e la richiesta standard UUID del dispositivo, in linea con il comportamento di Vulkan.

Tra le altre modifiche, si possono notare nuove funzionalità linguistiche senza bisogno di caricare estensioni, un printf migliorato in OpenCL C con il supporto per i modificatori z e t, una precisazione della semantica CL_DEVICE_HOST_UNIFIED_MEMORY, la possibilità di passare dimensioni nulle per gli argomenti local memory e semplificazione della sincronizzazione durante il controllo dell'evento nello stato CL_COMPLETE.

Lo sviluppo delle implementazioni di OpenCL 3.1 è già in corso presso Arm, Imagination, Intel e Qualcomm. Tra le implementazioni aperte, Khronos menziona separatamente Rusticl in Mesa, PoCL e CLVK. Continua anche lo sviluppo dei layer di compatibilità che eseguono OpenCL su Vulkan e DirectX 12, il che dovrebbe ampliare la disponibilità di OpenCL su sistemi privi di driver nativi.

I seguenti ambiti di sviluppo menzionati da Khronos includono i buffer di comando per il riesecuzione a basso livello, miglioramenti nella memoria comune, operazioni con matrici in modalità condivisa, nuovi tipi di AI come formati a bassa precisione, così come miglioramenti per la memoria esterna e compatibilità con Vulkan, DirectX 12 e media pipeline.

Fonte: linux.org.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster