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:
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.