StencilStream: A SYCL-based Stencil Simulation Framework Targeting FPGAs
Although High-Level Synthesis has dramatically improved the usability of FPGAs in High-Performance Computing applications, it still requires much experience to create well-performing FPGA designs. We introduce the stencil simulation framework StencilStream to separate the concerns of performance engineers and domain scientists. We have formulated our performance-oriented stencil simulation designs for FPGAs along with their management code as C++ templates using SYCL language features. Application developers instantiate these templates with their concrete stencil code and obtain a complete application with little management overhead. In this work, we describe the most interesting API features and the two backend architectures of StencilStream, along with their corresponding performance models. We then evaluate the performance of the architectures using three manually implemented sample applications and highlight the real-world usability of StencilStream further with shallow water simulations obtained from a code-generation flow. Compiled with Intel oneAPI for an Intel Stratix 10 GX 2800 target FPGA, the best-performing sample design exceeds a throughput of 1 TFLOPS.
Authors
- Tobias Kenter (ORCID: https://orcid.org/0000-0002-5088-0267)
- Christian Plessl (ORCID: https://orcid.org/0000-0001-5728-9982)
- Jan-Oliver Opdenhövel (ORCID: https://orcid.org/0000-0003-2314-2784)
- Christoph Alt (ORCID: https://orcid.org/0000-0001-8897-5205)
Institutions
- Paderborn University (DE)
Publication Details
- Published
- 2024-09-02
- DOI
- https://doi.org/10.1109/fpl64840.2024.00023
- Citations
- 1
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.49