rtx-cfd legacy GPU: the kernel-writing methods take &mut self; read-only ones keep a shared borrow
CI / Python Bindings (maturin) (macos-latest) (push) Blocked by required conditions
CI / Python Bindings (maturin) (ubuntu-latest) (push) Blocked by required conditions
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 / 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
Performance Benchmarks / Run Benchmarks (push) Failing after 7s
CI / Clippy Check (push) Failing after 11s
CI / Build (ubuntu-latest) (push) Failing after 13s
Documentation / Build User Guide (push) Successful in 6s
Documentation / Build API Documentation (push) Failing after 23s
CI / Build CPU-Only (Explicit) (push) Failing after 2m0s

This commit is contained in:
Omar Sobh
2026-09-16 07:29:05 -05:00
parent 0de750bad1
commit fd5972c949
5 changed files with 32 additions and 32 deletions
@@ -147,7 +147,7 @@ impl PisoGpuSolver {
fn copy_to_gpu(&self, flow_field: &FlowField) -> CfdResult<()> {
let buffers = self
.gpu_buffers
.as_mut()
.as_ref()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
// Convert nalgebra matrices to flat vectors
@@ -171,7 +171,7 @@ impl PisoGpuSolver {
fn copy_from_gpu(&self, flow_field: &mut FlowField) -> CfdResult<()> {
let buffers = self
.gpu_buffers
.as_mut()
.as_ref()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
// Copy from GPU
@@ -191,7 +191,7 @@ impl PisoGpuSolver {
async fn gpu_momentum_prediction(&mut self, dt: f32) -> CfdResult<()> {
let buffers = self
.gpu_buffers
.as_mut()
.as_ref()
.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_mut()
.as_ref()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
(buffers.nx, buffers.ny)
};
@@ -284,7 +284,7 @@ impl PisoGpuSolver {
let iterations = {
let buffers = self
.gpu_buffers
.as_mut()
.as_ref()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
self.poisson_kernel.solve_2d(
&mut buffers.pressure_correction,
@@ -303,7 +303,7 @@ impl PisoGpuSolver {
{
let buffers = self
.gpu_buffers
.as_mut()
.as_ref()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
self.matrix_ops_kernel
.axpy(1.0, &buffers.pressure_correction, &mut buffers.p)?;
@@ -313,7 +313,7 @@ impl PisoGpuSolver {
let residual_norm = {
let buffers = self
.gpu_buffers
.as_mut()
.as_ref()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
self.matrix_ops_kernel.vector_norm(&buffers.mass_source)?
};
@@ -332,7 +332,7 @@ impl PisoGpuSolver {
) -> CfdResult<()> {
let buffers = self
.gpu_buffers
.as_mut()
.as_ref()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
// Clone the references we need for velocity field
@@ -416,7 +416,7 @@ impl PisoGpuSolver {
{
let buffers = self
.gpu_buffers
.as_mut()
.as_ref()
.ok_or_else(|| CfdError::gpu_error("GPU buffers not initialized"))?;
let u_correction = buffers.u_correction.clone();
let v_correction = buffers.v_correction.clone();