ruda-kernel 0.1.3

Ruda Rust kernel DSL and device tensor operations.
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-kernel"
version = "0.1.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ruda Rust kernel DSL and device tensor operations."
readme = "README.md"
license-file = "LICENSE"
repository = "https://github.com/shuqi2077/RUDA"

[features]
default = ["frontend-default"]
device-tensor = [
    "library",
    "ruda-core/tensor-host-data",
    "ruda-core/tensor-elements-flex32",
]
device-tensor-autotune-checks = [
    "device-tensor",
    "ruda/runtime-autotune-checks",
]
device-tensor-dequantize = [
    "device-tensor",
    "quantization-kernels",
]
device-tensor-quantize = [
    "device-tensor",
    "quantization-kernels",
]
device-tensor-tracing = [
    "device-tensor",
    "dep:tracing",
]
extended = ["heavy"]
frontend = [
    "ruda-kernel-macros/kernel-ir",
    "dep:ruda-core",
    "ruda-core/ir",
    "ruda-core/ir-serde",
    "ruda-core/tensor",
    "dep:ruda",
    "ruda/runtime",
    "dep:bitflags",
    "dep:bytemuck",
    "dep:derive-new",
    "dep:derive_more",
    "dep:enumset",
    "dep:float-ord",
    "dep:half",
    "dep:hashbrown",
    "dep:log",
    "dep:num-traits",
    "dep:paste",
    "dep:serde",
    "dep:serde_json",
    "dep:variadics_please",
    "ruda-core/argument-layout",
]
frontend-default = [
    "frontend",
    "ruda/runtime-default",
    "ruda-core/ir-default",
]
frontend-std = [
    "frontend",
    "ruda/runtime-std",
    "ruda-core/ir-std",
]
frontend-template = ["frontend"]
frontend-tests = [
    "frontend-std",
    "dep:tempfile",
    "test-log/trace",
    "test-log/log",
]
frontend-tracing = [
    "frontend",
    "dep:tracing",
    "ruda/runtime-tracing",
    "ruda-core/tracing",
]
full = ["extended"]
heavy = []
kernel-ir = [
    "frontend",
    "library",
    "dep:ruda-core",
    "dep:half",
]
library = [
    "frontend",
    "dep:spin",
    "ruda-core/hash",
]
library-tests = [
    "library",
    "test-log/trace",
]
library-tracing = [
    "library",
    "frontend-tracing",
]
lowering-cpp = [
    "frontend",
    "dep:ruda-compiler",
    "ruda-compiler/cpp",
]
lowering-metal = [
    "lowering-cpp",
    "ruda-compiler/cpp-metal",
]
lowering-mlir = [
    "frontend",
    "dep:ruda-compiler",
    "ruda-compiler/optimizer-std",
]
lowering-spirv = [
    "frontend-default",
    "dep:ruda-compiler",
    "ruda-compiler/spirv",
]
lowering-wgsl = [
    "frontend",
    "dep:ruda-compiler",
    "ruda-compiler/wgsl",
]
quantization = [
    "dep:ruda-core",
    "ruda-core/fp8",
    "dep:half",
    "dep:serde",
]
quantization-kernels = [
    "quantization",
    "frontend",
    "library",
]
source-template = [
    "frontend",
    "dep:text_placeholder",
]
std = [
    "ruda?/runtime-std",
    "ruda-core?/ir-std",
]

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

[[test]]
name = "frontend"
path = "tests/frontend/mod.rs"
required-features = ["frontend"]

[[test]]
name = "quantization"
path = "tests/quantization/lib.rs"
required-features = ["quantization-kernels"]

[[test]]
name = "tiling"
path = "tests/tiling/lib.rs"
required-features = ["kernel-ir"]

[dependencies.bitflags]
version = "2.9.1"
features = ["serde"]
optional = true

[dependencies.bytemuck]
version = "1.16.1"
optional = true

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

[dependencies.derive_more]
version = "2"
features = [
    "not",
    "add",
    "mul",
    "add_assign",
    "mul_assign",
    "display",
    "debug",
]
optional = true
default-features = false

[dependencies.enumset]
version = "1.1.12"
optional = true
default-features = false

[dependencies.float-ord]
version = "0.3"
optional = true

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

[dependencies.hashbrown]
version = "0.16"
optional = true

[dependencies.log]
version = "^0.4.22"
optional = true
default-features = false

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

[dependencies.paste]
version = "1"
optional = true

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

[dependencies.ruda-compiler]
version = "0.1.3"
optional = true
default-features = false

[dependencies.ruda-core]
version = "0.1.3"
optional = true
default-features = false

[dependencies.ruda-kernel-macros]
version = "0.1.2"
default-features = false

[dependencies.serde]
version = "1.0.204"
features = [
    "derive",
    "alloc",
]
optional = true
default-features = false

[dependencies.serde_json]
version = "1.0.119"
optional = true
default-features = false

[dependencies.spin]
version = "0.10.0"
features = [
    "mutex",
    "spin_mutex",
]
optional = true

[dependencies.tempfile]
version = "3.20"
optional = true

[dependencies.test-log]
version = "^0.2"
optional = true
default-features = false

[dependencies.text_placeholder]
version = "0.5.1"
features = ["struct_context"]
optional = true

[dependencies.tracing]
version = "^0.1.43"
features = ["attributes"]
optional = true
default-features = false

[dependencies.variadics_please]
version = "1"
optional = true

[dev-dependencies.half]
version = "=2.7.1"

[dev-dependencies.pretty_assertions]
version = "1.4"

[dev-dependencies.test-log]
version = "^0.2"
features = ["trace"]
default-features = false

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

[lints.rust]
unsafe_code = "deny"