Die Version des Projekts PoCL 1.3 (Portable Computing Language OpenCL) ist verfĂŒgbar und entwickelt eine Implementierung des OpenCL-Standards, die unabhĂ€ngig von Herstellern von Grafikbeschleunigern ist und die Verwendung verschiedener Backends zur AusfĂŒhrung von OpenCL-Kernen auf unterschiedlichen Typen von Grafik- und Mikroprozessoren ermöglicht. Der Code des Projekts wird unter der MIT-Lizenz verbreitet. Es werden Plattformen wie X86_64, MIPS32, ARM v7, AMD HSA APU und verschiedene spezialisierte TTA-Prozessoren (Transport Triggered Architecture) mit VLIW-Architektur unterstĂŒtzt.
Die Implementierung des OpenCL-Kernels-Compilers basiert auf LLVM, und als Frontend fĂŒr OpenCL C wird Clang verwendet. Um die richtige PortabilitĂ€t und Leistung sicherzustellen, kann der OpenCL-Kernel-Compiler kombinierte Funktionen generieren, die verschiedene Hardware-Ressourcen zur Parallelisierung der CodeausfĂŒhrung nutzen können, wie VLIW, Superskalare, SIMD, SIMT, Multikern- und Multithreading. ICD-Treiber werden unterstĂŒtzt.
(Installable Client Driver). Es sind Backends vorhanden, um die AusfĂŒhrung ĂŒber CPU, ASIP (TCE/TTA), GPU basierend auf HSA-Architektur und NVIDIA-GPU (CUDA) zu ermöglichen.
In der neuen Version wurde die UnterstĂŒtzung fĂŒr LLVM/Clang 8.0 hinzugefĂŒgt. ICD (Installable Client Driver) wird auf der Plattform macOS unterstĂŒtzt. Es ist jetzt möglich, pocl ohne Backend-Treiber fĂŒr die CPU zu kompilieren. FĂŒr HSA (Heterogeneous System Architecture) wird eine erste UnterstĂŒtzung fĂŒr die Kompilierung von ISA ĂŒber HSA-Runtime bereitgestellt. Die Codebasis wurde bereinigt, einschlieĂlich der Entfernung der Vecmathlib-Bibliothek und der Einstellung der UnterstĂŒtzung fĂŒr alte LLVM-Versionen (vor Version 6.0).
Quelle: opennet.ru
