Die Version 1.3 des PoCL-Projekts (Portable Computing Language OpenCL) ist verfĂŒgbar. Dieses Projekt entwickelt eine OpenCL-Implementierung, die herstellerunabhĂ€ngig ist und es ermöglicht, verschiedene Backends zur AusfĂŒhrung von OpenCL-Kernen auf unterschiedlichen Grafik- und Zentralprozessoren zu verwenden. Der Quellcode des Projekts steht unter der MIT-Lizenz. Die UnterstĂŒtzung umfasst die Plattformen X86_64, MIPS32, ARM v7, AMD HSA APU sowie verschiedene spezialisierte TTA-Prozessoren (Transport Triggered Architecture) mit VLIW-Architektur.
. Die Implementierung des OpenCL-Kerncompilers basiert auf LLVM, wĂ€hrend Clang als Frontend fĂŒr OpenCL C verwendet wird. Um die notwendige PortabilitĂ€t und Leistung zu gewĂ€hrleisten, kann der OpenCL-Kerncompiler kombinierte Funktionen generieren, die verschiedene Hardware-Ressourcen zur Parallelisierung der CodeausfĂŒhrung nutzen, wie VLIW, superskalare Architektur, SIMD, SIMT, Multicore und Multithreading. Die UnterstĂŒtzung von ICD-Treibern
(Installierbarer Client-Treiber). Es sind Backends vorhanden, die die AusfĂŒhrung ĂŒber CPU, ASIP (TCE/TTA), HSA-Architektur-GPUs und NVIDIA-GPUs (CUDA) ermöglichen.
In der neuen Version wurde die UnterstĂŒtzung fĂŒr LLVM/Clang 8.0 hinzugefĂŒgt. Die UnterstĂŒtzung fĂŒr ICD (Installierbarer Client-Treiber) auf der macOS-Plattform wurde sichergestellt. Es wurde die Möglichkeit implementiert, pocl ohne Backend-Treiber fĂŒr CPU zu kompilieren. FĂŒr HSA (Heterogeneous System Architecture) wurde eine erste UnterstĂŒtzung zur Kompilierung von ISA ĂŒber die HSA-Runtime bereitgestellt. Die Codebasis wurde bereinigt, einschlieĂlich der Entfernung der Vecmathlib-Bibliothek und der Einstellung der UnterstĂŒtzung fĂŒr Ă€ltere LLVM-Versionen (unter 6.0).
Quelle: opennet.ru
