By re-implementing our unstructured grid discontinuous Galerkin solver for the 2D shallow water equations in SYCL we produce a single code which not only runs on various CPUs and GPUs from AMD, Intel, and NVIDIA as well as on Intel Field Programmable Gate Arrays (FPGAs), but also achieves excellent performance on each of those architectures. The separation of concerns concept is realized in SYCL by using a modern C++ standard for model code implementation and handling all hardware-specifics automatically in the SYCL runtime. This makes this programming model very flexible in terms of data structures and algorithmic constructs and reduces the developer exposure to various hardware architectures with their differing performance optimization requirements. Furthermore, we demonstrate that the FPGAs, which consist of generic logic blocks configured for a specific code and data structures, outperform all other architectures for small-size problems if one uses the SYCL implementation provided by Intel oneAPI.
No takes yet. Share an insight, caveat, or question.
Büttner et al. (2024) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: