PoCL 7.2: What changes when you run OpenCL on RISC-V?
PoCL 7.2 brings CPU conformance results and updated LLVM support. Understand the tested scope, the CUDA exception for LLVM 21 and the work left for deployment.
🆓 Free article · Anyone can read this article for free
A new development board is an invitation to switch it on. Moving the code onto it can turn into a bigger project than changing the hardware.
PoCL 7.2, released as a stable version on September 4, addresses that second job. It brings OpenCL 3.0 conformance results for RISC-V and x86-64 CPUs into the release and updates compiler support. That gives developers more evidence for taking a program to another CPU. It does not promise the same speed.
An additional execution path, before another hardware purchase
PoCL is an open-source implementation of the OpenCL standard. It uses Clang and LLVM to process compute kernels and supplies the runtime and drivers to execute them on CPUs and other supported devices. A kernel here is a piece of computation applied across data, not the operating-system kernel.
A common execution path matters to teams evaluating another CPU while maintaining existing OpenCL code. It can reduce the need to start with an entirely different programming system for each device. The actual porting effort still depends on the application's features, libraries and target device. Installing PoCL does not automatically parallelize an arbitrary program.

The conformance date is not the release date
The Khronos register lists tested PoCL configurations on the RISC-V CPUs in Star64 and Milk-V Jupiter boards, as well as an x86-64 CPU. Those are July records using a development version. The September stable release reports these results; describing all of the conformance work as newly completed this week would mix up the dates.
OpenCL 3.0 also makes functionality beyond 1.2 optional. Matching version numbers do not imply identical feature lists on every device. Applications need to query the features they require and handle their absence.
This distinction is useful in ordinary engineering work. Correct results, available features and sufficient speed are separate questions. A conformance result cannot be turned into a CPU-versus-GPU performance comparison. Measuring a workload with its actual data sizes, memory access and execution path remains a separate task.
Check the LLVM version before updating
The version-pinned 7.2 release notes contain an easy-to-miss compatibility exception. The minimum LLVM version rises to 18, and the CPU path supports 22 and 23. But the CUDA path does not support LLVM 21 because of an upstream Clang bug. Its stated choices are 18, 19, 20 and 22.
A successful build on a development PC therefore does not establish that the deployment server's combination works. For a team maintaining both CPU and CUDA environments, recording the LLVM version and driver path alongside the PoCL version makes problems easier to reproduce.
Product economics & specifications
| Dimension | Details | Buyer implication | Evidence |
|---|---|---|---|
| Software license | MIT-licensed open-source download; no software license purchase required. Checked Sep 5, 2026. | Hardware, integration and support costs are separate. | verified · Source |
| Likely users | Teams retaining OpenCL code while evaluating RISC-V or x86 CPU execution. | Fit analysis, not an observed customer list. | analysis · analysis |
| CPU toolchain | Minimum LLVM 18; CPU support includes LLVM 22 and 23. | An LLVM 17 build environment needs updating. | verified · Source |
| CUDA exception | Supported LLVM choices: 18, 19, 20, 22. LLVM 21 is unsupported. | Do not infer one continuous version range. | verified · Source |
| Conformance scope | Listed x86-64 and RISC-V CPU configurations; July records use PoCL 7.2-pre. | Neither every device nor a performance ranking. | verified · Source |
| Optional features | OpenCL 3.0 makes functionality beyond 1.2 optional. | Query the features your application uses. | verified · Source |
| Build settings | ENABLE_CONFORMANCE=ON alone does not guarantee conformance. | Check the tested build configuration as well. | verified · Source |
| Deployment budget | No quantified integration cost or workload speedup verified for this article. | Budget maintenance and measure the actual application. | unavailable · unavailable |
The operational bill outlasts the download
PoCL is offered under the MIT license. Independently of a software license fee, teams still have work to do: maintain build environments, check required features, run regression tests and measure performance. Development teams and laboratories evaluating RISC-V while retaining OpenCL code are plausible early users for that reason. This is an assessment of fit, not evidence of actual customers or measured cost savings.
VLSI Korea view: Less code to rewrite is welcome. It does not mean there is less left to verify.
The immediate opportunity is closer to evaluating another execution environment with existing code than finding a reason to buy new hardware. Start with a small computation and compare its results, then time the real workload. We did not conduct performance tests for this article and make no numerical speedup claim.
AI assisted research and writing using public project materials and Khronos records, followed by a separate independent review. Checked on September 5, 2026.