rtx-cfd: the legacy GPU modules back in the cuda build (repair in progress)
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 / Format Check (push) Failing after 6s
CI / Clippy Check (push) Failing after 6s
CI / Build CPU-Only (Explicit) (push) Failing after 7s
CI / Build (ubuntu-latest) (push) Failing after 7s
Documentation / Build User Guide (push) Successful in 6s
Documentation / Build API Documentation (push) Failing after 22s
Performance Benchmarks / Run Benchmarks (push) Successful in 2m58s

This commit is contained in:
Omar Sobh
2026-09-16 07:15:24 -05:00
parent 3fd4fb7b8c
commit de435eb91c
3 changed files with 22 additions and 33 deletions
@@ -4,9 +4,6 @@
//! - SIMPLE (Semi-Implicit Method for Pressure Linked Equations) //! - SIMPLE (Semi-Implicit Method for Pressure Linked Equations)
//! - PISO (Pressure-Implicit with Splitting of Operators) //! - PISO (Pressure-Implicit with Splitting of Operators)
//! - SIMPLER (SIMPLE Revised) //! - 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 crate::{CfdConfig, CfdError, CfdResult};
// use nalgebra::{DMatrix, DVector}; // use nalgebra::{DMatrix, DVector};
@@ -29,16 +26,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;
@@ -65,8 +62,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, vcycle_f32_work, PoissonSolution, export_hierarchy, vcycle_f32_reference, vcycle_f32_work,
@@ -74,8 +71,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)]
@@ -5,30 +5,27 @@
//! - D3Q19: 3D model with 19 discrete velocities //! - D3Q19: 3D model with 19 discrete velocities
//! - Boundary conditions: bounce-back, Zou-He //! - Boundary conditions: bounce-back, Zou-He
//! - Collision operators: BGK, MRT //! - 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 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 {
@@ -7,23 +7,18 @@
//! - **Wall Functions**: Log-law, enhanced wall treatment //! - **Wall Functions**: Log-law, enhanced wall treatment
//! - **Transition Models**: γ-Reθ, k-kL-ω //! - **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; pub mod k_epsilon;
// PERF-2 (2026-09-16): the legacy k-epsilon GPU model no longer matches #[cfg(feature = "cuda")]
// `KEpsilonConstants` and has not compiled since the initial commit; kept out pub mod k_epsilon_gpu;
// of the `cuda` build until someone needs it.
// 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;
pub use k_epsilon::{KEpsilonConstants, KEpsilonModel, KEpsilonVariant}; pub use k_epsilon::{KEpsilonConstants, KEpsilonModel, KEpsilonVariant};
// #[cfg(feature = "cuda")] #[cfg(feature = "cuda")]
// pub use k_epsilon_gpu::KEpsilonGpuModel; pub use k_epsilon_gpu::KEpsilonGpuModel;
pub use smagorinsky::{SmagorinskyConstants, SmagorinskyModel}; pub use smagorinsky::{SmagorinskyConstants, SmagorinskyModel};
pub use wall_functions::{EnhancedWallTreatment, LogLawWallFunction, WallFunction}; pub use wall_functions::{EnhancedWallTreatment, LogLawWallFunction, WallFunction};