Files
rustytorch/crates/tooling/rtx-kernel-bench/Cargo.toml
T
Omar Sobh 16161bb9df deps: align all 56 per-crate Cargo.toml files to thiserror v2
The workspace root was upgraded to thiserror = "2" in an earlier commit,
but 56 per-crate Cargo.toml files still independently declared "1.0".
These crates do not use workspace.dependencies inheritance for thiserror.
All updated to thiserror = "2" for complete fleet alignment.

Includes: rtx-backend, rtx-tensor, rtx-losses, rtx-backend-cuda/rocm/metal,
all training crates (rtx-auto, rtx-rl, rtx-distributed, rtx-federated, etc.),
specialized crates (rtx-science, rtx-platform, rtx-nmf, rtx-neuro-*),
production crates (rtx-streaming, rtx-serving-api), and all demo crates.

cargo check --workspace: PASSES.
2026-04-26 11:45:14 -07:00

81 lines
2.5 KiB
TOML

[package]
name = "rtx-kernel-bench"
version = "0.1.0"
edition = "2024"
description = "Kernel benchmarking framework for comparing CubeCL vs hand-crafted implementations"
license = "MIT OR Apache-2.0"
repository = "https://github.com/anthropics/rustytorch"
keywords = ["gpu", "benchmark", "cuda", "kernel", "performance"]
categories = ["development-tools::profiling", "science"]
[dependencies]
# Core dependencies
rtx-backend = { path = "../../core/rtx-backend" }
rtx-backend-cpu = { path = "../../core/rtx-backend-cpu" }
# GPU backends for real kernel benchmarks
rtx-metal = { path = "../../core/rtx-metal", optional = true }
# rtx-kernel = { path = "../../core/rtx-kernel", optional = true } # TODO: Wire up when CUDA ready
# CubeCL for GPU kernel compilation (0.9.x restructured crates)
cubecl = { workspace = true, optional = true }
cubecl-wgpu = { workspace = true, optional = true }
cubecl-cuda = { workspace = true, optional = true }
cubecl-hip = { workspace = true, optional = true }
cubecl-matmul = { workspace = true, optional = true } # Replaces cubecl-linalg
cubecl-reduce = { workspace = true, optional = true }
cubecl-runtime = { workspace = true, optional = true }
bytemuck = { workspace = true }
# CUDA for hand-crafted NVIDIA kernels
cudarc = { workspace = true, optional = true }
# Benchmarking
criterion = { version = "0.5", features = ["html_reports"] }
# Statistics and analysis
statistical = "1.0"
# Async runtime
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time"] }
# Utilities
anyhow = "1.0"
thiserror = "2"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
chrono = { version = "0.4", features = ["serde"] }
tracing = "0.1"
# CLI for benchmark runner
clap = { version = "4", features = ["derive"] }
# Tables for output
tabled = "0.15"
comfy-table = "7"
# Colors for terminal output
colored = "2"
[dev-dependencies]
rand = "0.8"
[features]
default = []
cuda = ["rtx-backend/cuda", "dep:cudarc"] # Hand-crafted CUDA kernels via cudarc
metal = ["rtx-backend/metal", "dep:rtx-metal"]
wgpu = ["dep:cubecl", "dep:cubecl-wgpu", "dep:cubecl-matmul", "dep:cubecl-reduce", "dep:cubecl-runtime"] # CubeCL GPU via WGPU/Metal
cubecl-cuda = ["dep:cubecl", "dep:cubecl-cuda", "dep:cubecl-matmul", "dep:cubecl-reduce", "dep:cubecl-runtime"] # CubeCL → CUDA PTX
rocm = ["dep:cubecl", "dep:cubecl-hip", "dep:cubecl-matmul", "dep:cubecl-reduce", "dep:cubecl-runtime"] # CubeCL → HIP/ROCm
[[bin]]
name = "kernel-bench"
path = "src/bin/main.rs"
[[bin]]
name = "compare-kernels"
path = "src/bin/compare_kernels.rs"
[lints]
workspace = true