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

90 lines
2.4 KiB
TOML

[package]
name = "rtx-fea"
version = "1.0.0"
edition.workspace = true
rust-version = "1.92"
authors = ["RustyTorch++ Team"]
license = "Apache-2.0"
description = "Production-ready Finite Element Analysis library with GPU acceleration for RustyTorch++"
keywords = ["fea", "finite-element", "gpu", "cuda", "metal", "engineering"]
categories = ["science", "simulation"]
[dependencies]
# Core RTX dependencies (optional for standalone usage)
rtx-tensor = { workspace = true }
rtx-memory = { workspace = true, optional = true }
rtx-kernel = { workspace = true, optional = 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, optional = true }
async-trait = { workspace = true, optional = 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"
[features]
# No default GPU - select cuda or metal explicitly
default = []
cuda = ["cudarc", "rtx-tensor/cuda"]
metal = ["rtx-metal"]
metal4 = ["metal"] # Enable Metal 4 specific features (requires macOS 26+)
rtx-integration = ["rtx-memory", "rtx-kernel", "cuda"]
async = ["tokio", "async-trait"]
[lib]
name = "rtx_fea"
path = "src/lib.rs"
[[example]]
name = "linear_elasticity"
path = "examples/linear_elasticity.rs"
[[example]]
name = "cantilever_beam"
path = "examples/cantilever_beam.rs"
[[bench]]
name = "assembly_performance"
path = "benches/assembly_performance.rs"
harness = false
[[bench]]
name = "solver_performance"
path = "benches/solver_performance.rs"
harness = false
[lints]
workspace = true