Release of PoCL 3.0 with an independent implementation of the OpenCL 3.0 standard

The release of project PoCL 3.0 (Portable Computing Language OpenCL) has been presented, which develops 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 distributed under the MIT license. It supports operation on X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU, and various specialized ASIP (Application-Specific Instruction-set Processor) and TTA processors (Transport Triggered Architecture) with VLIW architecture.

The implementation of the OpenCL kernel compiler is based on LLVM, and Clang is used as the frontend for OpenCL C. To ensure adequate portability and performance, the OpenCL kernel compiler can generate combined functions that can utilize various hardware resources for parallelizing code execution, such as VLIW, superscalar, SIMD, SIMT, multicores, and multithreading. ICD drivers (Installable Client Driver) are supported. There are backends to enable operation via CPU, ASIP (TCE/TTA), HSA architecture-based GPUs, and NVIDIA GPUs (through libcuda).

In the new version:

  • A minimal set of features required to support the OpenCL 3.0 specification has been implemented. Support for OpenCL 3.0 is currently only available in the CPU-based backend with LLVM 14 (in other backends and with older versions of LLVM, support for OpenCL 1.2 is provided).
  • Support for Clang/LLVM 14 has been added.
  • Tracing and visualization have improved.
  • Support for generating specialized function groups and including them in executable files with OpenCL kernels has been added.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster