rtx-cfd: the legacy GPU solver modules (piso_gpu, simple_gpu, d2q9_gpu, d3q19_gpu, smagorinsky_gpu) kept out of the cuda build — broken since the initial commit; the PERF-2 benchmark uses cudarc directly
CI / Build (macos-latest) (push) Waiting to run
CI / Test (macos-latest) (push) Blocked by required conditions
CI / Test (ubuntu-latest) (push) Blocked by required conditions
CI / Python Bindings (maturin) (macos-latest) (push) Blocked by required conditions
CI / Python Bindings (maturin) (ubuntu-latest) (push) Blocked by required conditions
CI / WASM Build + Size Check (push) Blocked by required conditions
CI / Distributed Training Tests (push) Blocked by required conditions
CI / CI Success (push) Blocked by required conditions
CI / Build (ubuntu-latest) (push) Failing after 6s
Documentation / Build API Documentation (push) Failing after 7s
Documentation / Build User Guide (push) Successful in 7s
CI / Clippy Check (push) Failing after 52s
CI / Format Check (push) Failing after 16s
CI / Build CPU-Only (Explicit) (push) Failing after 2m24s
Performance Benchmarks / Run Benchmarks (push) Successful in 3m4s

This commit is contained in:
Omar Sobh
2026-09-16 01:05:39 -05:00
parent 956e9d38e2
commit cb1647c0ef
3 changed files with 27 additions and 18 deletions
@@ -1,3 +1,6 @@
// 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.
//! Incompressible flow solvers //! Incompressible flow solvers
//! //!
//! This module implements pressure-velocity coupling algorithms for incompressible flows: //! This module implements pressure-velocity coupling algorithms for incompressible flows:
@@ -26,16 +29,16 @@ pub mod overset;
/// PISO algorithm implementation /// PISO algorithm implementation
pub mod piso; pub mod piso;
/// GPU-accelerated PISO algorithm implementation /// GPU-accelerated PISO algorithm implementation
#[cfg(feature = "cuda")] // #[cfg(feature = "cuda")]
pub mod piso_gpu; // pub mod piso_gpu;
/// Five-point Poisson problems and the multigrid-preconditioned CG solver /// Five-point Poisson problems and the multigrid-preconditioned CG solver
pub mod poisson; pub mod poisson;
pub mod polygon_sdf; pub mod polygon_sdf;
/// SIMPLE algorithm implementation /// SIMPLE algorithm implementation
pub mod simple; pub mod simple;
/// GPU-accelerated SIMPLE algorithm implementation /// GPU-accelerated SIMPLE algorithm implementation
#[cfg(feature = "cuda")] // #[cfg(feature = "cuda")]
pub mod simple_gpu; // pub mod simple_gpu;
/// CSR matrix + Jacobi-BiCGSTAB for the curvilinear pressure equation /// CSR matrix + Jacobi-BiCGSTAB for the curvilinear pressure equation
pub mod sparse_bicgstab; pub mod sparse_bicgstab;
@@ -62,8 +65,8 @@ pub use overset::{
OversetResult, OversetSolverState, ResidualBucket, StepTimers, OversetResult, OversetSolverState, ResidualBucket, StepTimers,
}; };
pub use piso::{PisoParameters, PisoResult, PisoSolver}; pub use piso::{PisoParameters, PisoResult, PisoSolver};
#[cfg(feature = "cuda")] // #[cfg(feature = "cuda")]
pub use piso_gpu::PisoGpuSolver; // pub use piso_gpu::PisoGpuSolver;
pub use poisson::{ pub use poisson::{
LevelExport, MgPrecision, MgSmoother, MultigridParameters, PcgCache, PoissonProblem, LevelExport, MgPrecision, MgSmoother, MultigridParameters, PcgCache, PoissonProblem,
PoissonSolution, export_hierarchy, vcycle_f32_reference, PoissonSolution, export_hierarchy, vcycle_f32_reference,
@@ -71,8 +74,8 @@ pub use poisson::{
}; };
pub use polygon_sdf::PolygonSdf; pub use polygon_sdf::PolygonSdf;
pub use simple::{ConvectionScheme, SimpleParameters, SimpleResult, SimpleSolver}; pub use simple::{ConvectionScheme, SimpleParameters, SimpleResult, SimpleSolver};
#[cfg(feature = "cuda")] // #[cfg(feature = "cuda")]
pub use simple_gpu::SimpleGpuSolver; // pub use simple_gpu::SimpleGpuSolver;
/// Common solver parameters /// Common solver parameters
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
@@ -1,3 +1,6 @@
// 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.
//! Lattice Boltzmann Method (LBM) solvers //! Lattice Boltzmann Method (LBM) solvers
//! //!
//! This module implements various LBM models for fluid flow simulation: //! This module implements various LBM models for fluid flow simulation:
@@ -9,23 +12,23 @@
pub mod boundary; pub mod boundary;
pub mod d2q9; pub mod d2q9;
/// GPU-accelerated D2Q9 LBM solver /// GPU-accelerated D2Q9 LBM solver
#[cfg(feature = "cuda")] // #[cfg(feature = "cuda")]
pub mod d2q9_gpu; // pub mod d2q9_gpu;
pub mod d3q19; pub mod d3q19;
/// GPU-accelerated D3Q19 LBM solver /// GPU-accelerated D3Q19 LBM solver
#[cfg(feature = "cuda")] // #[cfg(feature = "cuda")]
pub mod d3q19_gpu; // pub mod d3q19_gpu;
pub use boundary::{ pub use boundary::{
BounceBackBc, BoundaryConditionSet, BoundaryOrientation, LbmBoundaryCondition, ZouHeBc, BounceBackBc, BoundaryConditionSet, BoundaryOrientation, LbmBoundaryCondition, ZouHeBc,
ZouHeBoundaryType, ZouHeBoundaryType,
}; };
pub use d2q9::{D2Q9Parameters, D2Q9Solver}; pub use d2q9::{D2Q9Parameters, D2Q9Solver};
#[cfg(feature = "cuda")] // #[cfg(feature = "cuda")]
pub use d2q9_gpu::D2Q9GpuSolver; // pub use d2q9_gpu::D2Q9GpuSolver;
pub use d3q19::{D3Q19Parameters, D3Q19Solver, MacroscopicVariables3D}; pub use d3q19::{D3Q19Parameters, D3Q19Solver, MacroscopicVariables3D};
#[cfg(feature = "cuda")] // #[cfg(feature = "cuda")]
pub use d3q19_gpu::D3Q19GpuSolver; // pub use d3q19_gpu::D3Q19GpuSolver;
/// Common LBM traits and utilities /// Common LBM traits and utilities
pub mod common { pub mod common {
@@ -1,3 +1,6 @@
// 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.
//! Turbulence modeling for CFD //! Turbulence modeling for CFD
//! //!
//! This module provides various turbulence models for simulating turbulent flows: //! This module provides various turbulence models for simulating turbulent flows:
@@ -15,8 +18,8 @@ pub mod k_epsilon;
// of the `cuda` build until someone needs it. // of the `cuda` build until someone needs it.
// pub mod k_epsilon_gpu; // pub mod k_epsilon_gpu;
pub mod smagorinsky; pub mod smagorinsky;
#[cfg(feature = "cuda")] // #[cfg(feature = "cuda")]
pub mod smagorinsky_gpu; // pub mod smagorinsky_gpu;
pub mod transition; pub mod transition;
pub mod wall_functions; pub mod wall_functions;