A compiler that transforms OpenCL C code into Vulkan compute shaders, enabling GPU compute on Vulkan platforms.
Clspv is a compiler that transforms OpenCL C code into Vulkan compute shaders, enabling developers to run GPU-accelerated compute workloads on Vulkan platforms. It bridges the gap between OpenCL's programming model and Vulkan's API by converting OpenCL kernels into SPIR-V modules that can be executed as Vulkan compute shaders. This allows existing OpenCL codebases to target Vulkan-compatible hardware without requiring native OpenCL driver support.
GPU compute developers working with OpenCL who want to target Vulkan platforms, graphics engineers porting OpenCL workloads to Vulkan, and researchers needing cross-platform GPU acceleration.
Developers choose Clspv because it provides a proven, conformant compilation path for OpenCL on Vulkan, enabling code reuse across platforms without vendor-specific implementations. Its integration with LLVM and SPIRV-Tools ensures robust, standards-compliant shader generation.
Clspv is a compiler for OpenCL C to Vulkan compute shaders
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Has passed OpenCL 3.0 conformance testing with clvk, ensuring standards compliance and reliability for cross-platform GPU compute.
Utilizes top-of-tree LLVM and Clang for robust code transformation, benefiting from continuous updates and optimizations.
Can emit SPIR-V binaries as C initializer lists via --output-format=c, facilitating easy integration into C/C++ applications without external files.
Bridges OpenCL to Vulkan, enabling GPU compute on platforms without native OpenCL drivers and reducing vendor lock-in.
Only supports OpenCL C version 1.2, missing features from newer standards like dynamic parallelism or shared virtual memory.
Requires building from source with specific versions of LLVM, Clang, and other dependencies, which can be time-consuming and error-prone.
Needs an external runtime like clvk to execute compiled shaders, adding deployment complexity and potential performance overhead.