Pubblicazione di PoCL 3.0 con un'implementazione indipendente dello standard OpenCL 3.0.

È stata rilasciata la versione 3.0 del progetto PoCL (Portable Computing Language OpenCL), che sviluppa l'implementazione dello standard OpenCL, indipendente dai produttori di acceleratori grafici e consente di utilizzare vari backend per eseguire i nuclei OpenCL su diversi tipi di processori grafici e centrali. Il codice del progetto è distribuito con licenza MIT. È supportato su piattaforme X86_64, MIPS32, ARM v7, AMD HSA APU, GPU NVIDIA e vari processori ASIP (Application-Specific Instruction-set Processor) e TTA (Transport Triggered Architecture) con architettura VLIW.

L'implementazione del compilatore per i nuclei OpenCL è basata su LLVM, e come frontend per OpenCL C viene utilizzato Clang. Per garantire la necessaria portabilità e prestazioni, il compilatore dei nuclei OpenCL può generare funzioni combinate, che possono utilizzare diverse risorse hardware per parallelizzare l'esecuzione del codice, come VLIW, superscalabilità, SIMD, SIMT, multi-core e multithreading. È presente il supporto per i driver ICD (Installable Client Driver). Sono disponibili backend per garantire il funzionamento attraverso CPU, ASIP (TCE/TTA), GPU basate su architettura HSA e GPU NVIDIA (tramite libcuda).

Nella nuova versione:

  • È stato implementato un insieme minimo di funzionalità richiesto per supportare la specifica OpenCL 3.0. Il supporto per OpenCL 3.0 è attualmente disponibile solo nel backend basato su CPU con LLVM 14 (negli altri backend e con versioni precedenti di LLVM è disponibile il supporto per OpenCL 1.2).
  • Aggiunto supporto per Clang/LLVM 14.
  • Migliorata la tracciatura e la visualizzazione.
  • Aggiunto supporto per la generazione di gruppi di funzioni specializzate e per l'inclusione nei file eseguibili con i nuclei OpenCL.

Fonte: opennet.ru

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