Performance evaluation of explicit finite difference algorithms with varying amounts of computational and memory intensity
Satya P. Jammy, Christian T. Jacobs, Neil D. Sandham

TL;DR
This paper evaluates the performance of finite difference algorithms with different memory and computational intensities, showing that local storage or recomputation can significantly improve speed for fluid dynamics simulations.
Contribution
It introduces a comparative analysis of finite difference algorithms optimizing memory and computation, demonstrating potential speed-ups through local storage or recomputation techniques.
Findings
Local storage of derivatives speeds up computation by ~2x
Recomputing derivatives on-the-fly also achieves similar speed-ups
Performance varies with algorithm design and hardware characteristics
Abstract
Future architectures designed to deliver exascale performance motivate the need for novel algorithmic changes in order to fully exploit their capabilities. In this paper, the performance of several numerical algorithms, characterised by varying degrees of memory and computational intensity, are evaluated in the context of finite difference methods for fluid dynamics problems. It is shown that, by storing some of the evaluated derivatives as single thread- or process-local variables in memory, or recomputing the derivatives on-the-fly, a speed-up of ~2 can be obtained compared to traditional algorithms that store all derivatives in global arrays.
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.
