Files
rustytorch/crates/specialized/rtx-cfd/Cargo.toml
T
2026-03-04 00:08:42 +00:00

103 lines
2.7 KiB
TOML

[package]
name = "rtx-cfd"
version = "1.0.0"
edition.workspace = true
rust-version = "1.92"
authors = ["RustyTorch Team"]
license = "MIT OR Apache-2.0"
description = "Production-ready Computational Fluid Dynamics library with GPU acceleration for RustyTorch"
keywords = ["cfd", "fluid-dynamics", "gpu", "cuda", "metal", "simulation"]
categories = ["science", "simulation"]
repository = "https://github.com/rustytorch/rustytorch"
[dependencies]
# Core RTX dependencies (temporarily disabled for initial development)
# rtx-tensor = { workspace = true }
# rtx-memory = { workspace = true, optional = true }
# rtx-kernel = { workspace = true, optional = true }
# rtx-fea = { workspace = true }
# Essential utilities
anyhow = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
# Serialization and configuration
serde = { workspace = true }
serde_json = { workspace = true }
# Math and numerics
nalgebra = { workspace = true }
num-complex = { workspace = true }
rand = { workspace = true }
# Collections and indexing
indexmap = { workspace = true }
dashmap = { workspace = true }
# GPU acceleration with cudarc 0.18.1 (workspace version)
cudarc = { workspace = true, features = ["std", "driver", "runtime", "nvrtc", "cublas", "cublaslt", "cusparse", "cusolver", "curand"], optional = true }
# Concurrency and parallelism
parking_lot = { workspace = true }
rayon = { workspace = true }
# Async support
tokio = { workspace = true }
async-trait = { workspace = true }
# Additional math dependencies for CFD
ndarray = { workspace = true }
rand_distr = { workspace = true }
statrs = { workspace = true }
# Metal GPU acceleration (macOS only)
[target.'cfg(target_os = "macos")'.dependencies]
rtx-metal = { workspace = true, optional = true }
[dev-dependencies]
# Testing and benchmarking
criterion = { workspace = true, features = ["html_reports"] }
proptest = { workspace = true }
tempfile = { workspace = true }
approx = "0.5"
tokio-test = { workspace = true }
[features]
default = []
cuda = ["cudarc"]
metal = ["rtx-metal"]
metal4 = ["metal"] # Enable Metal 4 specific features (requires macOS 26+)
# rtx-integration = ["rtx-memory", "rtx-kernel"]
[lib]
name = "rtx_cfd"
path = "src/lib.rs"
[[example]]
name = "lid_driven_cavity"
path = "examples/lid_driven_cavity.rs"
[[example]]
name = "flow_past_cylinder"
path = "examples/flow_past_cylinder.rs"
[[example]]
name = "lbm_poiseuille"
path = "examples/lbm_poiseuille.rs"
[[example]]
name = "channel_turbulent"
path = "examples/channel_turbulent.rs"
[[example]]
name = "gpu_simple_example"
path = "examples/gpu_simple_example.rs"
[[bench]]
name = "solver_performance"
path = "benches/solver_performance.rs"
harness = false
[lints]
workspace = true