[package]
edition = "2024"
name = "ruda-tensor-device"
version = "0.21.21"
authors = ["nathanielsimard <nathaniel.simard.42@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ruda device tensor backend and domain-library dispatch."
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/shuqi2077/RUDA/tree/main/ruda-tensor-device"
[package.metadata.docs.rs]
features = ["doc"]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
autotune = [
"ruda-fusion?/device-autotune",
"ruprim/tensor-reduce-autotune",
"rublas/tensor-matmul-autotune",
"rudnn/tensor-convolution-autotune",
"rudnn/tensor-attention-autotune",
]
autotune-checks = [
"autotune",
"ruda/runtime-autotune-checks",
"ruda-kernel/device-tensor-autotune-checks",
"ruda-fusion?/device-autotune-checks",
]
cuda = [
"dep:ruda-driver-cuda",
"ruda-tensor/cuda",
]
cuda-default = [
"cuda-fusion",
"default",
"ruda-driver-cuda/default",
]
cuda-doc = [
"cuda",
"doc",
"ruda-driver-cuda/default",
]
cuda-fusion = [
"cuda",
"fusion",
"ruda-fusion/std",
"ruda-fusion/tracing",
]
default = [
"autotune",
"std",
"fusion",
"ruda-kernel/frontend-default",
"ruda-fusion?/device-default",
]
distributed = [
"std",
"ruda-tensor/distributed",
"ruda-fusion?/distributed",
]
doc = ["default"]
fusion = [
"dep:ruda-fusion",
"ruda-tensor/std",
"ruda-tensor-config/std",
]
fusion-experimental = ["fusion"]
memory-checks = ["ruda-fusion?/memory-checks"]
sparse = [
"std",
"dep:rusparse",
]
stack-autotune = [
"autotune",
"ruda-fusion?/device-stack-autotune",
]
std = [
"ruda-kernel/frontend-std",
"ruda-tensor/std",
"ruda-tensor-config/std",
"ruda-fusion?/device-std",
]
tracing = [
"dep:tracing",
"ruda-kernel/frontend-tracing",
"ruda-kernel/device-tensor-tracing",
"ruda-core/tracing",
"ruda-tensor/tracing",
"ruda-tensor-config/tracing",
"ruda-fusion?/device-tracing",
]
[lib]
name = "ruda_tensor_device"
path = "src/lib.rs"
[dependencies.derive-new]
version = "0.7.0"
default-features = false
[dependencies.futures-lite]
version = "2.6.1"
features = ["std"]
default-features = false
[dependencies.log]
version = "0.4.29"
default-features = false
[dependencies.rublas]
version = "0.1.18"
features = [
"kernel-ir",
"std",
"tensor-vector",
"tensor-matmul",
]
default-features = false
[dependencies.ruda]
version = "0.1.8"
features = ["runtime"]
default-features = false
[dependencies.ruda-core]
version = "0.1.5"
features = [
"ir",
"tensor-host-data",
]
default-features = false
[dependencies.ruda-driver-cuda]
version = "0.1.18"
optional = true
default-features = false
[dependencies.ruda-fusion]
version = "0.21.20"
features = ["device-tensor"]
optional = true
default-features = false
[dependencies.ruda-kernel]
version = "0.1.7"
features = [
"kernel-ir",
"quantization-kernels",
"device-tensor",
"device-tensor-dequantize",
"device-tensor-quantize",
]
default-features = false
[dependencies.ruda-tensor]
version = "0.21.20"
features = [
"kernel",
"graph",
]
default-features = false
[dependencies.ruda-tensor-config]
version = "0.21.2"
default-features = false
[dependencies.rudnn]
version = "0.1.18"
features = [
"kernel-ir",
"std",
"pooling",
"interpolation",
"grid-sample",
"ctc",
"tensor-convolution",
"tensor-attention",
]
default-features = false
package = "ruDNN"
[dependencies.rufft]
version = "0.1.18"
features = [
"std",
"tensor",
]
default-features = false
package = "ruda-fft"
[dependencies.ruprim]
version = "0.1.18"
features = [
"kernel-ir",
"std",
"elementwise",
"indexing",
"tensor-scan",
"tensor-reduce",
]
default-features = false
package = "ruPRIM"
[dependencies.rurand]
version = "0.1.20"
features = [
"std",
"tensor",
]
default-features = false
package = "ruRAND"
[dependencies.rusparse]
version = "0.1.18"
features = [
"tensor",
"serde",
]
optional = true
default-features = false
package = "ruSPARSE"
[dependencies.tracing]
version = "0.1.44"
features = ["attributes"]
optional = true
default-features = false
[lints.clippy]
[lints.rustdoc]
broken_intra_doc_links = "deny"
invalid_html_tags = "deny"