JuliaGPU/KernelAbstractions.jl

Heterogeneous programming in Julia

What it solves

KernelAbstractions.jl provides a way to write GPU-like kernels that can run on multiple different hardware backends without needing to rewrite the code for each specific platform. It addresses the problem of hardware lock-in and the need for heterogeneous computing across different GPU vendors.

How it works

The library acts as a minimal and performant abstraction layer. It allows developers to write a single set of kernels that the package then targets to various supported execution backends, including NVIDIA CUDA, AMD ROCm, Intel oneAPI, and Apple Metal.

Who it’s for

Developers and researchers who need to write high-performance, heterogeneous code that is compatible with across various GPU architectures.

Highlights

  • Supports multiple backends: NVIDIA CUDA, AMD ROCm, Intel oneAPI, and Apple Metal.
  • Designed to be minimal and performant.
  • Enables writing GPU-like kernels for different execution backends.

Related

  • Project
  • Project
  • Project
  • Project
  • Project