ruda-tensor 0.21.9

Ruda tensor operations, backend contracts, and framework-facing primitives.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "ruda-tensor"
version = "0.21.9"
authors = ["nathanielsimard <nathaniel.simard.42@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ruda tensor operations, backend contracts, and framework-facing primitives."
documentation = "https://github.com/shuqi2077/RUDA/blob/main/docs/en/README.md"
readme = "README.md"
keywords = [
    "deep-learning",
    "machine-learning",
    "tensor",
    "pytorch",
    "ndarray",
]
categories = [
    "science",
    "no-std",
    "embedded",
    "wasm",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/shuqi2077/RUDA/tree/main/ruda-tensor"

[package.metadata.docs.rs]
features = [
    "doc",
    "api-std",
]
rustdoc-args = [
    "--cfg",
    "docsrs",
    "--html-in-header",
    "katex-header.html",
]

[features]
api = ["dep:ruda-tensor-config"]
api-colored = [
    "api",
    "dep:colored",
]
api-distributed = [
    "api-std",
    "distributed",
]
api-kernel = [
    "api",
    "kernel",
    "dep:ruda-kernel",
]
api-std = [
    "api",
    "std",
    "api-colored",
    "ruda-tensor-config/std",
]
api-tracing = [
    "api",
    "tracing",
    "ruda-tensor-config/tracing",
    "ruda-kernel/frontend-tracing",
]
cpu = [
    "kernel",
    "dep:ruda-driver-cpu",
]
cuda = [
    "kernel",
    "dep:ruda-driver-cuda",
]
default = ["std"]
distributed = [
    "std",
    "oneshot",
]
doc = ["default"]
graph = []
graph-distributed = [
    "graph",
    "distributed",
]
hip = [
    "kernel",
    "dep:ruda-driver-hip",
]
kernel = [
    "ruda-core/ir",
    "ruda-core/communication",
    "ruda-core/tensor-elements-flex32",
]
serde = ["enumset/serde"]
std = [
    "ruda-tensor-config?/std",
    "ruda-kernel?/frontend-std",
    "ruda-core/tensor-device-settings-std",
    "rand/std",
    "num-traits/std",
    "ruda-core/std",
    "ruda-core/tensor-elements-std",
    "ruda-driver-cuda?/std",
    "ruda-driver-wgpu?/std",
]
tracing = [
    "ruda-tensor-config?/tracing",
    "ruda-kernel?/frontend-tracing",
    "ruda-core/tracing",
    "ruda-driver-cpu?/tracing",
    "ruda-driver-cuda?/tracing",
    "ruda-driver-hip?/tracing",
    "ruda-driver-wgpu?/tracing",
]
wgpu = [
    "kernel",
    "dep:ruda-driver-wgpu",
]

[lib]
name = "ruda_tensor"
path = "src/lib.rs"

[dependencies.bytemuck]
version = "1.25.0"
features = ["extern_crate_alloc"]

[dependencies.colored]
version = "3.0.0"
optional = true

[dependencies.derive-new]
version = "0.7.0"
default-features = false

[dependencies.enumset]
version = "1.1.10"
default-features = false

[dependencies.half]
version = "2.7.1"
features = [
    "alloc",
    "num-traits",
    "serde",
    "bytemuck",
]
default-features = false

[dependencies.hashbrown]
version = "0.16"

[dependencies.num-traits]
version = "0.2.19"
features = ["libm"]
default-features = false

[dependencies.oneshot]
version = "0.2.1"
optional = true

[dependencies.rand]
version = "0.10.1"
features = ["std_rng"]
default-features = false

[dependencies.ruda-core]
version = "0.1.3"
features = [
    "tensor-host-data",
    "tensor-device-settings",
    "serde",
    "shared-bytes",
    "tensor-data",
]
default-features = false

[dependencies.ruda-driver-cpu]
version = "0.1.8"
optional = true
default-features = false

[dependencies.ruda-driver-cuda]
version = "0.1.9"
optional = true
default-features = false

[dependencies.ruda-driver-hip]
version = "0.1.8"
optional = true
default-features = false

[dependencies.ruda-driver-wgpu]
version = "0.1.8"
optional = true
default-features = false

[dependencies.ruda-kernel]
version = "0.1.4"
features = ["frontend"]
optional = true
default-features = false

[dependencies.ruda-tensor-config]
version = "0.21.1"
optional = true
default-features = false

[dependencies.rudnn]
version = "0.1.9"
features = ["attention-fallback"]
default-features = false
package = "ruDNN"

[dependencies.serde]
version = "1.0.228"
features = [
    "derive",
    "alloc",
]
default-features = false

[dependencies.spin]
version = "0.10.0"
features = [
    "mutex",
    "spin_mutex",
    "portable-atomic",
]

[dependencies.thiserror]
version = "2"
default-features = false

[dev-dependencies.paste]
version = "1"

[dev-dependencies.rand]
version = "0.10.1"
features = [
    "std_rng",
    "thread_rng",
]
default-features = false

[dev-dependencies.serde_json]
version = "1.0.148"
features = ["alloc"]
default-features = false

[dev-dependencies.serial_test]
version = "3.2.0"

[target.'cfg(not(target_has_atomic = "ptr"))'.dependencies.portable-atomic-util]
version = "0.2.6"
features = ["alloc"]

[lints.clippy]

[lints.rustdoc]
broken_intra_doc_links = "deny"
invalid_html_tags = "deny"