diff --git a/crates/specialized/rtx-cfd/src/solvers/incompressible/mod.rs b/crates/specialized/rtx-cfd/src/solvers/incompressible/mod.rs index ada95cf..5819242 100644 --- a/crates/specialized/rtx-cfd/src/solvers/incompressible/mod.rs +++ b/crates/specialized/rtx-cfd/src/solvers/incompressible/mod.rs @@ -4,9 +4,6 @@ //! - SIMPLE (Semi-Implicit Method for Pressure Linked Equations) //! - PISO (Pressure-Implicit with Splitting of Operators) //! - SIMPLER (SIMPLE Revised) -// PERF-2 (2026-09-16): the legacy GPU modules have not compiled since the -// initial commit (cudarc API drift); kept out of the `cuda` build until -// someone needs them — the batched V-cycle benchmark uses cudarc directly. use crate::{CfdConfig, CfdError, CfdResult}; // use nalgebra::{DMatrix, DVector}; @@ -29,16 +26,16 @@ pub mod overset; /// PISO algorithm implementation pub mod piso; /// GPU-accelerated PISO algorithm implementation -// #[cfg(feature = "cuda")] -// pub mod piso_gpu; +#[cfg(feature = "cuda")] +pub mod piso_gpu; /// Five-point Poisson problems and the multigrid-preconditioned CG solver pub mod poisson; pub mod polygon_sdf; /// SIMPLE algorithm implementation pub mod simple; /// GPU-accelerated SIMPLE algorithm implementation -// #[cfg(feature = "cuda")] -// pub mod simple_gpu; +#[cfg(feature = "cuda")] +pub mod simple_gpu; /// CSR matrix + Jacobi-BiCGSTAB for the curvilinear pressure equation pub mod sparse_bicgstab; @@ -65,8 +62,8 @@ pub use overset::{ OversetResult, OversetSolverState, ResidualBucket, StepTimers, }; pub use piso::{PisoParameters, PisoResult, PisoSolver}; -// #[cfg(feature = "cuda")] -// pub use piso_gpu::PisoGpuSolver; +#[cfg(feature = "cuda")] +pub use piso_gpu::PisoGpuSolver; pub use poisson::{ LevelExport, MgPrecision, MgSmoother, MultigridParameters, PcgCache, PoissonProblem, PoissonSolution, export_hierarchy, vcycle_f32_reference, vcycle_f32_work, @@ -74,8 +71,8 @@ pub use poisson::{ }; pub use polygon_sdf::PolygonSdf; pub use simple::{ConvectionScheme, SimpleParameters, SimpleResult, SimpleSolver}; -// #[cfg(feature = "cuda")] -// pub use simple_gpu::SimpleGpuSolver; +#[cfg(feature = "cuda")] +pub use simple_gpu::SimpleGpuSolver; /// Common solver parameters #[derive(Debug, Clone)] diff --git a/crates/specialized/rtx-cfd/src/solvers/lbm/mod.rs b/crates/specialized/rtx-cfd/src/solvers/lbm/mod.rs index 2d4c0db..4a74f0b 100644 --- a/crates/specialized/rtx-cfd/src/solvers/lbm/mod.rs +++ b/crates/specialized/rtx-cfd/src/solvers/lbm/mod.rs @@ -5,30 +5,27 @@ //! - D3Q19: 3D model with 19 discrete velocities //! - Boundary conditions: bounce-back, Zou-He //! - Collision operators: BGK, MRT -// PERF-2 (2026-09-16): the legacy GPU modules have not compiled since the -// initial commit (cudarc API drift); kept out of the `cuda` build until -// someone needs them — the batched V-cycle benchmark uses cudarc directly. pub mod boundary; pub mod d2q9; /// GPU-accelerated D2Q9 LBM solver -// #[cfg(feature = "cuda")] -// pub mod d2q9_gpu; +#[cfg(feature = "cuda")] +pub mod d2q9_gpu; pub mod d3q19; /// GPU-accelerated D3Q19 LBM solver -// #[cfg(feature = "cuda")] -// pub mod d3q19_gpu; +#[cfg(feature = "cuda")] +pub mod d3q19_gpu; pub use boundary::{ BounceBackBc, BoundaryConditionSet, BoundaryOrientation, LbmBoundaryCondition, ZouHeBc, ZouHeBoundaryType, }; pub use d2q9::{D2Q9Parameters, D2Q9Solver}; -// #[cfg(feature = "cuda")] -// pub use d2q9_gpu::D2Q9GpuSolver; +#[cfg(feature = "cuda")] +pub use d2q9_gpu::D2Q9GpuSolver; pub use d3q19::{D3Q19Parameters, D3Q19Solver, MacroscopicVariables3D}; -// #[cfg(feature = "cuda")] -// pub use d3q19_gpu::D3Q19GpuSolver; +#[cfg(feature = "cuda")] +pub use d3q19_gpu::D3Q19GpuSolver; /// Common LBM traits and utilities pub mod common { diff --git a/crates/specialized/rtx-cfd/src/turbulence/mod.rs b/crates/specialized/rtx-cfd/src/turbulence/mod.rs index 8e35cb4..bfac356 100644 --- a/crates/specialized/rtx-cfd/src/turbulence/mod.rs +++ b/crates/specialized/rtx-cfd/src/turbulence/mod.rs @@ -7,23 +7,18 @@ //! - **Wall Functions**: Log-law, enhanced wall treatment //! - **Transition Models**: γ-Reθ, k-kL-ω -// PERF-2 (2026-09-16): the legacy GPU modules have not compiled since the -// initial commit (cudarc API drift); kept out of the `cuda` build until -// someone needs them — the batched V-cycle benchmark uses cudarc directly. pub mod k_epsilon; -// PERF-2 (2026-09-16): the legacy k-epsilon GPU model no longer matches -// `KEpsilonConstants` and has not compiled since the initial commit; kept out -// of the `cuda` build until someone needs it. -// pub mod k_epsilon_gpu; +#[cfg(feature = "cuda")] +pub mod k_epsilon_gpu; pub mod smagorinsky; -// #[cfg(feature = "cuda")] -// pub mod smagorinsky_gpu; +#[cfg(feature = "cuda")] +pub mod smagorinsky_gpu; pub mod transition; pub mod wall_functions; pub use k_epsilon::{KEpsilonConstants, KEpsilonModel, KEpsilonVariant}; -// #[cfg(feature = "cuda")] -// pub use k_epsilon_gpu::KEpsilonGpuModel; +#[cfg(feature = "cuda")] +pub use k_epsilon_gpu::KEpsilonGpuModel; pub use smagorinsky::{SmagorinskyConstants, SmagorinskyModel}; pub use wall_functions::{EnhancedWallTreatment, LogLawWallFunction, WallFunction};