Rilascio di PoCL 1.3, un'implementazione indipendente dello standard OpenCL

È disponibile una versione del progetto PoCL 1.3 (Portable Computing Language OpenCL), che sviluppa un'implementazione dello standard OpenCL indipendente dai produttori di acceleratori grafici e consente l'utilizzo di diversi backend per l'esecuzione dei kernel OpenCL su diversi tipi di grafica e processori centrali . Il codice del progetto è distribuito sotto la licenza MIT. Supporta il lavoro su piattaforme X86_64, MIPS32, ARM v7, AMD HSA APU e vari processori specializzati TTA (Transport Triggered Architecture) con architettura VLIW.

L'implementazione del compilatore del kernel OpenCL è costruita sulla base di LLVM e Clang viene utilizzato come front-end per OpenCL C. Per garantire portabilità e prestazioni adeguate, il compilatore del kernel OpenCL può generare funzioni combinate che possono utilizzare varie risorse hardware per parallelizzare l'esecuzione del codice, come VLIW, superscalare, SIMD, SIMT, multi-core e multi-threading. Supporto driver ICD disponibile
(Driver client installabile). Esistono backend per supportare il funzionamento tramite CPU, ASIP (TCE/TTA), GPU basate sull'architettura HSA e GPU NVIDIA (CUDA).

La nuova versione aggiunge il supporto per LLVM/Clang 8.0. Fornisce supporto per ICD (driver client installabile) sulla piattaforma macOS. Implementata la possibilità di creare pocl senza driver backend per la CPU. Per HSA (Heterogeneous System Architecture), viene fornito il supporto iniziale per la compilazione di ISA sul runtime HSA. Il codice base è stato ripulito, inclusa la libreria Vecmathlib rimossa e il supporto per le versioni precedenti di LLVM (meno di 6.0) è stato interrotto.

Fonte: opennet.ru

Aggiungi un commento