Context
Pioneer CFD work: OpenFOAM 13 + OGL + Ginkgo 1.10 SYCL on
Intel Arc Pro B70 Pro (Battlemage Xe2), Ubuntu 26.04, oneAPI 2026.0.
Finding 1: SYCL IC/ILU NotImplemented
Tsai et al. 2023 (Wiley CCPE, doi:10.1002/cpe.7400) explicitly states:
"We have ported the following preconditioner functionality to the DPC++
backend: ... ParILU, ParIC, ParILUT, ParICT, ISAI"
Ginkgo 1.10 release notes state:
"New implementations of the ILU and IC factorization for
CUDA, HIP, OpenMP, and Reference backends."
→ SYCL is absent from this list.
Our measurement confirms:
preconditioner IC with executor sycl → gko::NotImplemented
preconditioner ICT with executor sycl → DEVICE_LOST
Question: Is SYCL IC/ILU in a separate development branch?
What is the roadmap for getting it into a stable release?
Finding 2: ISAI int32 overflow at 34M cells
With ISAI sparsityPower=3, scaling=-1.0 on a 34M-cell CFD mesh
(np=8, ~4.25M cells/rank):
SYCL error: Provided range and/or offset does not fit in int
This suggests the ISAI sparsity pattern generation uses int32 internally,
which overflows at this problem size. ISAI sparsityPower=1 runs but diverges.
Question: Is there a 64-bit index path for ISAI on SYCL?
Finding 3: BJ maxBlockSize > 1 OOM on SYCL
Tested BS=2,4,8,16 — all crash with gko::AllocationError.
GINKGO_JACOBI_FULL_OPTIMIZATIONS=ON does not fix this.
The workspace allocation appears to be O(N × BS²) or worse in SYCL.
Profiling Results (for KIT/Intel interest)
Direct measurement on B70 Pro, 34M cells, np=8, BJ(1):
- GPU active: 34% of wall clock
- GPU idle: 66% (MPI AllReduce wait + forced host-buffer copies)
- When active: 2528 MHz avg (90% of 2800 spec)
- Kernel launch: 5.6 µs sync (CUDA-par — NOT 100 µs as some docs claim)
- forceHostBuffer=false: crashes in gko::mpi::all_to_all_v (no GPU-aware MPI for xe)
Full documentation:
https://github.com/heikogleu-dev/Openfoam13---GPU-Offloading-Intel-B70-Pro
Summary Question
With BJ(1) as only working SYCL preconditioner (always hits maxIter=200),
GPU CFD on Battlemage cannot compete with CPU GAMG (5-10 iter).
What is the realistic timeline for SYCL IC or Multigrid becoming
production-ready for distributed CFD workloads?
Context
Pioneer CFD work: OpenFOAM 13 + OGL + Ginkgo 1.10 SYCL on
Intel Arc Pro B70 Pro (Battlemage Xe2), Ubuntu 26.04, oneAPI 2026.0.
Finding 1: SYCL IC/ILU NotImplemented
Tsai et al. 2023 (Wiley CCPE, doi:10.1002/cpe.7400) explicitly states:
Ginkgo 1.10 release notes state:
Our measurement confirms:
preconditioner IC with executor sycl → gko::NotImplemented
preconditioner ICT with executor sycl → DEVICE_LOST
Question: Is SYCL IC/ILU in a separate development branch?
What is the roadmap for getting it into a stable release?
Finding 2: ISAI int32 overflow at 34M cells
With ISAI sparsityPower=3, scaling=-1.0 on a 34M-cell CFD mesh
(np=8, ~4.25M cells/rank):
SYCL error: Provided range and/or offset does not fit in int
This suggests the ISAI sparsity pattern generation uses int32 internally,
which overflows at this problem size. ISAI sparsityPower=1 runs but diverges.
Question: Is there a 64-bit index path for ISAI on SYCL?
Finding 3: BJ maxBlockSize > 1 OOM on SYCL
Tested BS=2,4,8,16 — all crash with gko::AllocationError.
GINKGO_JACOBI_FULL_OPTIMIZATIONS=ON does not fix this.
The workspace allocation appears to be O(N × BS²) or worse in SYCL.
Profiling Results (for KIT/Intel interest)
Direct measurement on B70 Pro, 34M cells, np=8, BJ(1):
Full documentation:
https://github.com/heikogleu-dev/Openfoam13---GPU-Offloading-Intel-B70-Pro
Summary Question
With BJ(1) as only working SYCL preconditioner (always hits maxIter=200),
GPU CFD on Battlemage cannot compete with CPU GAMG (5-10 iter).
What is the realistic timeline for SYCL IC or Multigrid becoming
production-ready for distributed CFD workloads?