OpenCL
For GPUs that support the vendor-neutral OpenCL standard, the OpenCL.jl package provides a Julia interface to the OpenCL programming model. The package is in the early stages of a rewrite, switching from the traditional OpenCL C-based kernel programming model to a native Julia interface that matches the rest of the JuliaGPU ecosystem.
The package can both be used with system-installed OpenCL runtimes, or with a Julia-distributed OpenCL runtime such as pocl_jll.jl
:
julia> using OpenCL
julia> OpenCL.versioninfo()
OpenCL.jl version 0.10.0
Toolchain:
- Julia v1.10.5
- OpenCL_jll v2024.5.8+1
Available platforms: 3
- Portable Computing Language
version: OpenCL 3.0 PoCL 6.0 Linux, Release, RELOC, SPIR-V, LLVM 15.0.7jl, SLEEF, DISTRO, POCL_DEBUG
· cpu-haswell-AMD Ryzen 9 5950X 16-Core Processor (fp64, il)
- NVIDIA CUDA
version: OpenCL 3.0 CUDA 12.6.65
· NVIDIA RTX 6000 Ada Generation (fp64)
- Intel(R) OpenCL Graphics
version: OpenCL 3.0
· Intel(R) Arc(TM) A770 Graphics (fp16, il)