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)
//! - 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)]
@@ -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 {
@@ -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};