project release (Portable Computing Language OpenCL), developing an implementation of the OpenCL standard that is independent of graphics accelerator manufacturers and allows the use of various backends for executing OpenCL kernels on different types of graphics and central processors. The project code is under the MIT license. It supports operation on X86_64, MIPS32, ARM v7, AMD HSA APU, and various specialized TTA processors () with the architecture .
The implementation of the OpenCL kernel compiler is based on LLVM, and Clang is used as the frontend for OpenCL C. To ensure proper portability and performance, the OpenCL kernel compiler can generate combined functions that can utilize various hardware resources for parallel execution of code, such as VLIW, superscalar execution, SIMD, SIMT, multicore, and multithreading. ICD drivers are supported.
(Installable Client Driver). Backends are present to ensure operation via CPU, ASIP (TCE/TTA), and GPU based on the architecture and NVIDIA GPUs (CUDA).
In :
- Support added . Support for LLVM versions older than 6.0 has been discontinued.
- Improved implementation based on CPU intermediate representations of code and (used in the Vulkan API), which can be applied for shader representation for graphics as well as for parallel computations;
- Added the pocl-accel driver with an infrastructure example to support hardware accelerators of OpenCL 1.2 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
