CFD Training

Professional OpenFOAM and GPU CFD training programmes by TesboCFD

15-Session ProgrammeAugust 2026
TesboCFD.Training.limited

GPU-Accelerated CFD in Practice — Writing a Full-Field GPU Solver from Scratch

Across 15 live-coding sessions you hand-write every CUDA kernel, progressively turning an incompressible flow solver from pure CPU into a full-field, device-resident GPU solver — validated against the CPU to machine precision and reaching hundred-fold speedups on million-cell meshes.

Hand-Written CUDA Kernels

Starting from SAXPY, you write the LDU sparse matrix-vector product (SpMV), a shared-memory tree reduction, and a Jacobi-preconditioned conjugate gradient (PCG) — each validated against the CPU to machine precision.

Full-Field GPU Offload

Move gradients, fluxes (Rhie-Chow), momentum assembly, PISO correction, boundary conditions and device-resident fields onto the GPU, so the whole time step never returns to the CPU.

Breaking the Amdahl Ceiling

First offload only the linear solver and measure the modest gain, then break through with full-field offload for hundred-fold speedups — with Nsight profiling and SoA memory-access tuning.

What You Will Learn

  • 1CUDA thread and memory model, host-device transfers, timing, and RAII device memory
  • 2Structured mesh (Mesh2D) and finite-volume geometry (Sf / V / deltaCoeff / owner-neighbour)
  • 3LDU sparse format and GPU SpMV (diagonal pass + off-diagonal atomicAdd)
  • 4Shared-memory tree reduction and dot products; Jacobi-preconditioned conjugate gradient (PCG)
  • 5Device-resident fields (GpuState) and the PISO time-loop skeleton
  • 6Gauss gradient, face fluxes and Rhie-Chow interpolation to prevent checkerboarding
  • 7Momentum assembly (upwind convection + orthogonal diffusion + Euler ddt), pressure Poisson and velocity/flux correction
  • 8Geometric multigrid pressure solve, lid-driven cavity vs Ghia (1982), Amdahl-ceiling comparison and a three-way performance report
15
× 2 h
Sessions
Live
Coding
Format
CPU →
Full-Field GPU
Path
100×
order
Speedup

Prerequisites

Comfortable with C++, have run basic OpenFOAM cases, and understand the finite-volume method and incompressible Navier-Stokes. An NVIDIA GPU is required (your own machine or an accessible server/cloud instance) — this is a live-coding course where every kernel is built and validated on the GPU in class, and it cannot be completed without one. CUDA Toolkit and OpenFOAM must be installed beforehand (a setup guide is provided). No prior CUDA experience needed — taught from first principles.

Course FeeCNY 9,500
Returning cots students: 5% OFFPair enrolment: 5% OFF

Speedup figures are measured architectural-throughput comparisons in the teaching environment (same mesh, scheme and settings), not a controlled numerical benchmark; each solver passes its own correctness validation.

Limited seats available

Enrolment & Enquiries

Please contact us by email for reservation, registration, or consultation.

Please pay attention to email courtesy