SYCL based Lattice Boltzmann flow solver for Heterogeneous Computing using oneAPI

This whitepaper demonstrates oneAPI’s promise of functional and performance portability using a highly parallelizable Lattice Boltzmann Solver based on SYCL programming model in a heterogeneous platform based on Intel® CPU and GPU architectures. ​

This work uses the former approach, i.e. Data Parallel C++ with SYCL. While adoption of this programming model as the de-facto choice for implementing production codebases appears lucrative, a software development team might ask three pertinent questions:​

  • How easy is it to port existing C++ codes to SYCL?​
  • How much performance overhead is incurred by SYCL due to the abstractions, compared to C++ codes on CPUs?​
  • Finally, how much speedup does SYCL offer on GPUs?​

In this paper, we delve into these three questions. We demonstrate how a physics solver can be ported from C++ to SYCL and report benchmarks comparing the performance between C++ and SYCL solvers on CPUs and GPUs.​


The oneAPI Specification joins the UXL Foundation. For more info:

Press Release