[package]
edition = "2024"
name = "rublas"
version = "0.1.76"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Linear algebra and matrix multiplication for Ruda."
readme = "README.md"
license-file = "LICENSE"
repository = "https://github.com/shuqi2077/RUDA"
[features]
cann = ["dep:ruda-driver-cann"]
cpu-reference = [
"kernel-ir",
"dep:ruda-test-utils",
]
default = [
"kernel-ir",
"std",
]
extended = ["heavy"]
full = ["extended"]
heavy = []
kernel-ir = [
"dep:ruda-core",
"ruda-kernel/kernel-ir",
"ruda/runtime",
"dep:bytemuck",
"dep:serde",
]
std = [
"kernel-ir",
"ruda-kernel/frontend-std",
]
tensor-grouped = [
"kernel-ir",
"ruda-kernel/device-tensor",
]
tensor-int4 = [
"kernel-ir",
"ruda-kernel/device-tensor",
]
tensor-matmul = [
"kernel-ir",
"ruda-kernel/device-tensor-dequantize",
]
tensor-matmul-autotune = ["tensor-matmul"]
tensor-nf4 = [
"tensor-matmul",
"ruda-kernel/device-tensor",
]
tensor-vector = [
"kernel-ir",
"ruda-kernel/device-tensor",
]
[lib]
name = "rublas"
path = "src/lib.rs"
[[test]]
name = "kernel_ir"
path = "tests/kernel_ir/lib.rs"
required-features = [
"kernel-ir",
"cpu-reference",
]
[dependencies.bytemuck]
version = "1.16.1"
optional = true
[dependencies.half]
version = "=2.7.1"
features = [
"alloc",
"num-traits",
"serde",
"bytemuck",
]
[dependencies.ruda]
version = "0.1.28"
default-features = false
[dependencies.ruda-core]
version = "0.1.6"
optional = true
default-features = false
[dependencies.ruda-driver-cann]
version = "0.1.56"
optional = true
[dependencies.ruda-kernel]
version = "0.1.27"
default-features = false
[dependencies.ruda-test-utils]
version = "0.1.76"
optional = true
default-features = false
[dependencies.serde]
version = "1.0.204"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.trybuild]
version = "1"
[lints.rust]
unsafe_code = "deny"