Packages

ExCubecl is a GPU compute runtime for Elixir powered by CubeCL via Rust NIFs. Provides GPU buffer management, kernel execution, async command submission, and pipeline orchestration. Currently includes CPU fallback implementations.

Current section

Files

Jump to
ex_cubecl native ex_cubecl_nif Cargo.toml
Raw

native/ex_cubecl_nif/Cargo.toml

[package]
name = "ex_cubecl_nif"
version = "0.4.1"
edition = "2021"
license = "Apache-2.0"
description = "GPU compute runtime for CubeCL via Rust NIFs — media processing extension"
repository = "https://github.com/ohhi-vn/ex_cubecl"
[lib]
name = "ex_cubecl_nif"
crate-type = ["cdylib", "staticlib"]
[dependencies]
rustler = "0.37"
dashmap = "6"
parking_lot = "0.12"
lazy_static = "1"
num_cpus = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# NOTE: CubeCL GPU integration is prepared but commented out until the crate
# is published with the needed features. Uncomment when ready:
# cubecl = { version = "0.1", features = ["wgpu"], optional = true }
# NOTE: FFmpeg media I/O is prepared but commented out until system
# libraries (libavcodec, libavformat, libavfilter, libswresample >= 6.x)
# are available. Uncomment when ready:
# ffmpeg-next = "7"
# NOTE: Audio resampling — uncomment when ready:
# rubato = "0.16"
[features]
default = ["wgpu"]
wgpu = []
cuda = []
metal = []
rocm = []
[workspace]