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

A disposizione rilascio del progetto PoCL 1.4 (Portable Computing Language OpenCL), che sviluppa un'implementazione dello standard OpenCL indipendente dai produttori di acceleratori grafici e consente l'utilizzo di vari backend per l'esecuzione dei kernel OpenCL su diversi tipi di grafica e processori centrali. Codice del progetto distribuito da sotto licenza MIT. Supporta il lavoro su piattaforme X86_64, MIPS32, ARM v7, AMD HSA APU e vari processori TTA specializzati (Architettura innescata dal trasporto) con l'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 garantire il funzionamento tramite CPU, ASIP (TCE/TTA) e architettura basata su GPU HSA e GPU NVIDIA (CUDA).

В nuova versione:

  • Aggiunto supporto LLVM/Clang 9.0. Il supporto per le versioni LLVM precedenti alla 6.0 è stato interrotto.
  • Implementazione migliorata basata sulla CPU delle rappresentazioni di codice intermedio SPIR и SPIR-V (utilizzato nell'API Vulkan), che può essere utilizzato sia per rappresentare shader per la grafica che per il calcolo parallelo;
  • Aggiunto driver pocl-accel con un'infrastruttura di esempio per supportare gli acceleratori hardware OpenCL 1.2 che implementano un'interfaccia di controllo mappata in memoria (mmap);
  • Aggiunta la possibilità di creare installazioni pocl non legate a directory (riassegnabili).

Fonte: opennet.ru

Aggiungi un commento