62 lines
1.4 KiB
TOML
62 lines
1.4 KiB
TOML
[package]
|
|
name = "rtx-nmf"
|
|
version = "1.0.0"
|
|
edition.workspace = true
|
|
rust-version = "1.92"
|
|
authors = ["RustyTorch Team"]
|
|
license = "MIT OR Apache-2.0"
|
|
description = "GPU-accelerated Non-negative Matrix Factorization (NMF) for RustyTorch++"
|
|
repository = "https://github.com/rustytorch/rustytorch"
|
|
|
|
[dependencies]
|
|
# Core RTX dependencies
|
|
rtx-tensor = { path = "../../core/rtx-tensor" }
|
|
anyhow = "1.0"
|
|
thiserror = "1.0"
|
|
tracing = "0.1"
|
|
|
|
# GPU acceleration - using workspace cudarc 0.18.1
|
|
cudarc = { workspace = true, optional = true }
|
|
|
|
# Numeric computing
|
|
nalgebra = "0.32"
|
|
rand = "0.8"
|
|
|
|
# Serialization for model persistence
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
|
|
# Image processing for color unmixing
|
|
image = "0.25"
|
|
base64 = "0.21"
|
|
|
|
# Metal GPU acceleration (macOS only)
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
rtx-metal = { workspace = true, optional = true }
|
|
|
|
[dev-dependencies]
|
|
# Testing framework
|
|
criterion = { version = "0.5", features = ["html_reports"] }
|
|
approx = "0.5"
|
|
tempfile = "3.8"
|
|
|
|
[features]
|
|
# No default GPU - select cuda or metal explicitly
|
|
default = []
|
|
cuda = ["cudarc", "rtx-tensor/cuda"]
|
|
metal = ["rtx-metal", "rtx-tensor/metal"]
|
|
metal4 = ["metal"] # Enable Metal 4 features (requires macOS 26+)
|
|
|
|
[lib]
|
|
name = "rtx_nmf"
|
|
path = "src/lib.rs"
|
|
|
|
[[example]]
|
|
name = "basic_usage"
|
|
path = "examples/basic_usage.rs"
|
|
|
|
[package.metadata.docs.rs]
|
|
features = ["cuda"]
|
|
[lints]
|
|
workspace = true
|