Porting incompressible flow matrix assembly to FPGAs for accelerating HPC engineering simulations
Nick Brown

TL;DR
This paper demonstrates that porting the Alya model's incompressible flow matrix assembly kernel to FPGAs can significantly accelerate HPC engineering simulations, outperforming CPUs and matching GPUs with lower power consumption.
Contribution
It presents a detailed FPGA optimization strategy for a key kernel in Alya, and compares FPGA performance against CPU and GPU, highlighting potential for FPGA acceleration in HPC.
Findings
FPGA outperforms CPU in matrix assembly tasks
FPGA performance is comparable to GPU with less power
Kernel optimization strategies are broadly applicable in HPC
Abstract
Engineering is an important domain for supercomputing, with the Alya model being a popular code for undertaking such simulations. With ever increasing demand from users to model larger, more complex systems at reduced time to solution it is important to explore the role that novel hardware technologies, such as FPGAs, can play in accelerating these workloads on future exascale systems. In this paper we explore the porting of Alya's incompressible flow matrix assembly kernel, which accounts for a large proportion of the model runtime, onto FPGAs. After describing in detail successful strategies for optimisation at the kernel level, we then explore sharing the workload between the FPGA and host CPU, mapping most appropriate parts of the kernel between these technologies, enabling us to more effectively exploit the FPGA. We then compare the performance of our approach on a Xilinx Alveo…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Distributed and Parallel Computing Systems
