103 lines
2.7 KiB
TOML
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
|