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
@@ -191,7 +191,7 @@ impl PisoGpuSolver {
async fn gpu_momentum_prediction(&mut self, dt: f32) -> CfdResult<()> {
let buffers = self
.gpu_buffers
.as_ref()
.as_mut()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
let config = self.cpu_solver.config();
@@ -271,7 +271,7 @@ impl PisoGpuSolver {
let (nx, ny) = {
let buffers = self
.gpu_buffers
.as_ref()
.as_mut()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
(buffers.nx, buffers.ny)
};
@@ -416,7 +416,7 @@ impl PisoGpuSolver {
{
let buffers = self
.gpu_buffers
.as_ref()
.as_mut()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
let u_correction = buffers.u_correction.clone();
let v_correction = buffers.v_correction.clone();
@@ -183,7 +183,7 @@ impl SimpleGpuSolver {
async fn gpu_momentum_prediction(&mut self, dt: f32) -> CfdResult<()> {
let buffers = self
.gpu_buffers
.as_ref()
.as_mut()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
let config = self.cpu_solver.config();
@@ -250,7 +250,7 @@ impl SimpleGpuSolver {
async fn gpu_pressure_correction(&mut self) -> CfdResult<f32> {
let buffers = self
.gpu_buffers
.as_ref()
.as_mut()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
let config = self.cpu_solver.config();
@@ -297,10 +297,10 @@ impl SimpleGpuSolver {
}
/// GPU-accelerated pressure update step
async fn gpu_pressure_update(&self, pressure_relaxation: f32) -> CfdResult<()> {
async fn gpu_pressure_update(&mut self, pressure_relaxation: f32) -> CfdResult<()> {
let buffers = self
.gpu_buffers
.as_ref()
.as_mut()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
// p = p + α_p * p' (pressure update with relaxation)