rtx-cfd legacy GPU: buffers re-borrowed after nested device calls; writing and delegating methods take &mut self
CI / Format Check (push) Failing after 6s
Performance Benchmarks / Run Benchmarks (push) Failing after 6s
CI / Clippy Check (push) Failing after 6s
CI / Build (ubuntu-latest) (push) Failing after 7s
Documentation / Build API Documentation (push) Failing after 4s
Documentation / Build User Guide (push) Successful in 5s
CI / Build CPU-Only (Explicit) (push) Failing after 1m35s
CI / Build (macos-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (ubuntu-latest) (push) Canceled after 0s
CI / Test (macos-latest) (push) Canceled after 0s
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (macos-latest) (push) Canceled after 0s
CI / WASM Build + Size Check (push) Canceled after 0s
CI / Distributed Training Tests (push) Canceled after 0s
CI / CI Success (push) Canceled after 0s

This commit is contained in:
Omar Sobh
2026-09-16 07:30:02 -05:00
parent fd5972c949
commit 8999548aca
5 changed files with 28 additions and 17 deletions
@@ -256,11 +256,15 @@ impl D2Q9GpuSolver {
fn gpu_collision_step(&mut self) -> CfdResult<()> {
let buffers = self
.gpu_buffers
.as_mut()
.as_ref()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
// First compute equilibrium distributions
self.gpu_compute_equilibrium()?;
let buffers = self
.gpu_buffers
.as_mut()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
// Then perform collision: f = f + omega * (f_eq - f)
let module = self
@@ -476,7 +480,7 @@ impl D2Q9GpuSolver {
}
/// Complete GPU LBM time step
pub fn gpu_step(&self) -> CfdResult<()> {
pub fn gpu_step(&mut self) -> CfdResult<()> {
self.gpu_collision_step()?;
self.gpu_streaming_step()?;
self.gpu_apply_bounce_back_boundaries()?;
@@ -575,7 +579,7 @@ impl D2Q9GpuSolver {
}
/// Apply boundary conditions
fn gpu_apply_boundaries(&self, _boundary_conditions: &BoundaryConditions) -> CfdResult<()> {
fn gpu_apply_boundaries(&mut self, _boundary_conditions: &BoundaryConditions) -> CfdResult<()> {
// For now, just apply bounce-back
self.gpu_apply_bounce_back_boundaries()?;
Ok(())