[package]
edition = "2024"
rust-version = "1.87"
name = "rlx"
version = "0.2.0"
authors = [
"Eugene Hauptmann",
"Nataliya Kosmyna",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
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."
homepage = "https://github.com/MIT-RLX/rlx"
documentation = "https://docs.rs/rlx"
readme = "README.md"
keywords = [
"ml",
"tensor",
"compiler",
"neural-network",
"autodiff",
]
categories = [
"science",
"algorithms",
"compilers",
]
license = "GPL-3.0-only"
repository = "https://github.com/MIT-RLX/rlx"
resolver = "2"
[package.metadata.docs.rs]
features = [
"cpu",
"gpu",
"gguf",
"bench",
"sparse",
"linalg",
"cortexm",
"fpga",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
all-features = false
[features]
all-cpu = [
"cpu",
"gguf",
"linalg",
]
apple-silicon = [
"cpu",
"metal",
"blas-accelerate",
]
bench = ["dep:rlx-bench"]
blas-accelerate = ["rlx-runtime/blas-accelerate"]
blas-mkl = ["rlx-runtime/blas-mkl"]
blas-openblas = ["rlx-runtime/blas-openblas"]
cortexm = ["dep:rlx-cortexm"]
cpu = ["rlx-runtime/cpu"]
cuda = ["rlx-runtime/cuda"]
default = ["cpu"]
edge = [
"cpu",
"cortexm",
]
fpga = ["dep:rlx-fpga"]
gguf = ["dep:rlx-gguf"]
gpu = ["rlx-runtime/gpu"]
linalg = ["dep:rlx-linalg"]
metal = ["rlx-runtime/metal"]
mlx = ["rlx-runtime/mlx"]
nvidia = [
"cpu",
"cuda",
]
rocm = ["rlx-runtime/rocm"]
sparse = ["dep:rlx-sparse"]
splat = ["dep:rlx-splat"]
tpu = ["rlx-runtime/tpu"]
[lib]
name = "rlx"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1"
[dependencies.rlx-bench]
version = "0.2.0"
optional = true
[dependencies.rlx-cortexm]
version = "0.2.0"
features = ["std"]
optional = true
default-features = false
[dependencies.rlx-driver]
version = "0.2.0"
[dependencies.rlx-fpga]
version = "0.2.0"
optional = true
[dependencies.rlx-gguf]
version = "0.2.0"
optional = true
[dependencies.rlx-ir]
version = "0.2.0"
[dependencies.rlx-linalg]
version = "0.2.0"
optional = true
[dependencies.rlx-macros]
version = "0.2.0"
[dependencies.rlx-opt]
version = "0.2.0"
[dependencies.rlx-runtime]
version = "0.2.0"
default-features = false
[dependencies.rlx-sparse]
version = "0.2.0"
optional = true
[dependencies.rlx-splat]
version = "0.2.0"
features = [
"cpu",
"core",
]
optional = true
default-features = false
[lints.clippy]
collapsible_if = "allow"
doc_lazy_continuation = "allow"
doc_overindented_list_items = "allow"
large_enum_variant = "allow"
manual_range_contains = "allow"
missing_safety_doc = "allow"
needless_range_loop = "allow"
should_implement_trait = "allow"
single_range_in_vec_init = "allow"
too_many_arguments = "allow"
type_complexity = "allow"
unnecessary_wraps = "allow"
upper_case_acronyms = "allow"
useless_conversion = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust.unused]
level = "warn"
priority = 0