PoCL 3.1 Released - Improved SPIR-V For CPU & CUDA Drivers, WIP Vulkan Driver
PoCL 3.1 is out today as the newest feature update to the "Portable Computing Language" that is effectively a portable OpenCL implementation that originally began focused on being a CPU-based implementation of OpenCL and has grown to support additional back-end drivers via LLVM for targeting NVIDIA CUDA, an experimental Vulkan driver, and other accelerator targets.
PoCL 3.1 provides compatibility with the LLVM/Clang 15.0 release, switches to using lowercase device names for the platform setup via the "POCL_DEVICES" environment variable, there has been a major rework to the custom device driver, much improved SPIR-V support, continued work towards implementing a Vulkan driver, and a basic OpenCL cl_khr_command_buffer implementation.
The SPIR-V work within PoCL 3.1 is focused on improving that Khronos IR support for PoCL's CPU and CUDA driver back-ends.
Similar to other projects implementing OpenCL atop the Vulkan API, PoCL is making strides there too. This currently incomplete PoCL Vulkan driver relies on libvulkan and clspv and thus far has been tested against the open-source Mesa Vulkan drivers. The driver currently implements most of the Vulkan 1.2 API while not yet working is OpenCL image support, no caching of command buffers, and other missing elements.
Those interested in learning more about PoCL 3.1 or downloading it can find it at GitHub.
PoCL 3.1 provides compatibility with the LLVM/Clang 15.0 release, switches to using lowercase device names for the platform setup via the "POCL_DEVICES" environment variable, there has been a major rework to the custom device driver, much improved SPIR-V support, continued work towards implementing a Vulkan driver, and a basic OpenCL cl_khr_command_buffer implementation.
The SPIR-V work within PoCL 3.1 is focused on improving that Khronos IR support for PoCL's CPU and CUDA driver back-ends.
Similar to other projects implementing OpenCL atop the Vulkan API, PoCL is making strides there too. This currently incomplete PoCL Vulkan driver relies on libvulkan and clspv and thus far has been tested against the open-source Mesa Vulkan drivers. The driver currently implements most of the Vulkan 1.2 API while not yet working is OpenCL image support, no caching of command buffers, and other missing elements.
Those interested in learning more about PoCL 3.1 or downloading it can find it at GitHub.
Add A Comment