Skip to content

WilliBee/KernelIntrinsics.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KernelIntrinsics.jl

⚠️ Warning: This package provides low-level GPU primitives intended for library developers, not end users. If you're looking for high-level GPU programming in Julia, use CUDA.jl or KernelAbstractions.jl directly.

A Julia package providing low-level memory access primitives and warp-level operations for GPU programming with KernelAbstractions.jl:

  • Memory Fences and ordered memory access (@fence, @access) with acquire/release semantics
  • Warp operations: shuffle (@shfl), inclusive scan (@warpreduce), reduction (@warpfold), vote (@vote)
  • Vectorized memory operations (vload, vstore!, vload_multi, vstore_multi!) generating ld.global.v4/st.global.v4 PTX instructions

Currently supports CUDA, ROCm and Metal backends. Other backends planned.

Installation

using Pkg
Pkg.add("KernelIntrinsics.jl")

Documentation

Full documentation available at: https://epilliat.github.io/KernelIntrinsics.jl/stable/

License

MIT License

About

Julia functions for invoking GPU-specific memory access instructions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Julia 100.0%