Pocl 3.1 release with an independent implementation of OpenCl standard

presented the release of the project pocl 3.1 (Portable Computing Language OpenCl), which develops the implementation of the OpenCl standard, independent of the manufacturers of graphic accelerators and allows the use of various backens to perform the OpenCl nuclear on different types of graphic and central processors. The project code is distributed under the MIT license. Work on the platforms of the X86_64, MIPS32, ARM V7, AMD HSA APU, NVIDIA GPU and various specialized asip ( application-specific instructions instructions. /a>) and TTA processors ( workport triggered architecture ) with architecture vliw .

The implementation of the OpenCL nuclei compiler is based on LLVM, and Clang is used as an OpenCL front. To ensure proper tolerance and performance, the OpenCl compileor can generate combined functions that can use various hardware resources for parallelization of code execution, such as VLIW, supercularity, SIMD, SIMT, multi -ceremony and multi -plate. There is support for ICD drivers
(Installable Client Driver). There are backens to ensure work through CPU, asip (tce/tta), GPU based on architecture hsa and gpu nvidia (via Libcuda).

in new versions :

  • Added support by Clang/LLVM 15.0.
  • Significantly improved Support for the intermediate representation of spir-V shaders for drivers using CPU and Cuda.
  • The driver for specialized hardware (CL_DEVICE_TYPE_ACCELERATOR) and its own devices (CL_DEVICE_TYPE_CUSTOM) that do not support the Online Compilation. Accel and TTASIM drivers are combined into the new driver almife .
  • .

  • Continued work on driver for graphic API vulkan.
  • The basic implementation of the expansion is proposed cl_khr_command_buffer , which allows us to record the sequence of Opencl commands for their execution by one challenge.
/Media reports cited above.