Release of PoCL 1.4, an independent implementation of the OpenCL standard

Available project release PoCL 1.4 (Portable Computing Language OpenCL), which develops an implementation of the OpenCL standard that is independent of graphics accelerator manufacturers and allows you to use different backends to run OpenCL cores on different types of graphics and central processors. Project code spreads under MIT license. Supports work on X86_64, MIPS32, ARM v7, AMD HSA APU platforms and various specialized TTA processors (Transport Triggered Architecture) with architecture VLIW.

The OpenCL core compiler implementation is based on LLVM, and Clang is used as a front-end for OpenCL C. To ensure proper portability and performance, the OpenCL kernel compiler can generate combined functions that can use various hardware resources to parallelize code execution, such as VLIW, superscalar, SIMD, SIMT, multicore, and multithreading. Support for ICD drivers
(Installable Client Driver). There are backends to provide work through CPU, ASIP (TCE / TTA), GPU based on the architecture HSA and NVIDIA GPU (CUDA).

Π’ new version:

  • Added support LLVM/Clang 9.0. Support for LLVM versions older than 6.0 has been discontinued.
  • Improved CPU-based implementation of intermediate code representations SPIRIT ΠΈ SPIR-V (used in the Vulkan API), which can be used both to represent shaders for graphics and for parallel computing;
  • Added pocl-accel driver with an example infrastructure to support OpenCL 1.2 hardware accelerators that implement a memory-mapped (mmap) control interface;
  • Added the ability to build pocl installations that are not tied to directories (relocatable).

Source: opennet.ru

Add a comment