[package]
name = "rlx"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
description = "RLX — small ML compiler + runtime for transformer inference and training. JAX-shaped IR, autodiff, vmap, on top of CPU / Apple Silicon (Metal / MLX) / NVIDIA / AMD / TPU / wgpu backends. This is the prelude crate; pulls in rlx-ir / rlx-opt / rlx-runtime and re-exports the common types."
authors.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "README.md"
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
[features]
default = ["cpu", "tensor"]
cpu = ["rlx-runtime/cpu", "rlx-tensor?/eval"]
metal = ["rlx-runtime/metal", "rlx-tensor?/eval-metal"]
mlx = ["rlx-runtime/mlx", "rlx-tensor?/eval-mlx"]
mlx-cuda = ["rlx-runtime/mlx-cuda", "rlx-tensor?/eval"]
coreml = ["rlx-runtime/coreml"]
gpu = ["rlx-runtime/gpu", "rlx-tensor?/eval-gpu"]
vulkan = ["rlx-runtime/vulkan", "rlx-tensor?/eval-gpu"]
oneapi = ["rlx-runtime/oneapi", "rlx-tensor?/eval-gpu"]
cuda = ["rlx-runtime/cuda", "rlx-tensor?/eval-cuda"]
rocm = ["rlx-runtime/rocm", "rlx-tensor?/eval-rocm"]
tpu = ["rlx-runtime/tpu", "rlx-tensor?/eval"]
blas-accelerate = ["rlx-runtime/blas-accelerate", "rlx-tensor?/eval-blas"]
blas-mkl = ["rlx-runtime/blas-mkl", "rlx-tensor?/eval"]
blas-openblas = ["rlx-runtime/blas-openblas", "rlx-tensor?/eval"]
tensor = ["dep:rlx-tensor"]
gguf = ["dep:rlx-gguf"]
gguf-convert = ["dep:rlx-gguf-convert", "dep:rlx-gguf"]
bench = ["dep:rlx-bench"]
sparse = ["dep:rlx-sparse"]
linalg = ["dep:rlx-linalg"]
splat = []
umap = ["dep:rlx-umap"]
optim = ["dep:rlx-optim"]
distributed = ["dep:rlx-collectives"]
cortexm = ["dep:rlx-cortexm"]
fpga = ["dep:rlx-fpga", "rlx-runtime/fpga"]
onnx = ["dep:rlx-onnx", "rlx-onnx/native", "rlx-onnx/cuda", "rlx-onnx/metal", "rlx-onnx/mlx", "rlx-onnx/gpu", "rlx-onnx/rocm"]
apple-silicon = ["cpu", "metal", "blas-accelerate"]
nvidia = ["cpu", "cuda"]
edge = ["cpu", "cortexm", "fpga"]
all-cpu = ["cpu", "gguf", "linalg"]
[dependencies]
rlx-ir = { path = "../core/rlx-ir", version = "0.2.13" }
rlx-tensor = { path = "../core/rlx-tensor", version = "0.2.13", optional = true }
rlx-opt = { path = "../core/rlx-opt", version = "0.2.13" }
rlx-driver = { path = "../core/rlx-driver", version = "0.2.13" }
rlx-macros = { path = "../core/rlx-macros", version = "0.2.13" }
rlx-runtime = { path = "../core/rlx-runtime", version = "0.2.13", default-features = false }
rlx-collectives = { path = "../core/rlx-collectives", version = "0.2.13", optional = true }
rlx-gguf = { path = "../io/rlx-gguf", version = "0.2.13", optional = true }
rlx-gguf-convert = { path = "../io/rlx-gguf-convert", version = "0.2.13", optional = true }
rlx-bench = { path = "../tooling/rlx-bench", version = "0.2.13", optional = true }
rlx-sparse = { path = "../numerics/rlx-sparse", version = "0.2.13", optional = true }
rlx-linalg = { path = "../numerics/rlx-linalg", version = "0.2.13", optional = true }
rlx-umap = { path = "../numerics/rlx-umap", version = "0.2.13", optional = true, default-features = false, features = ["cpu", "graph"] }
rlx-optim = { path = "../core/rlx-optim", version = "0.2.13", optional = true }
rlx-cortexm = { path = "../backends/rlx-cortexm", version = "0.2.13", optional = true, default-features = false, features = ["std"] }
rlx-fpga = { path = "../backends/rlx-fpga", version = "0.2.13", optional = true }
rlx-onnx = { path = "../io/rlx-onnx", version = "0.2.13", optional = true, default-features = true }
anyhow = "1"
[lints]
workspace = true
[package.metadata.docs.rs]
features = ["cpu", "tensor", "gpu", "gguf", "bench", "sparse", "linalg", "cortexm", "fpga", "optim", "distributed"]
rustdoc-args = ["--cfg", "docsrs"]
all-features = false