[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