A Transformation--Based Approach for the Design of Parallel/Distributed Scientific Software: the FFT
Harry B. Hunt, Lenore R. Mullin, Daniel J. Rosenkrantz, and James E., Raynolds

TL;DR
This paper presents a transformation-based methodology for designing efficient parallel and distributed scientific software, demonstrated on the FFT, resulting in competitive or superior performance compared to standard libraries.
Contribution
It introduces a systematic algebraic transformation approach for designing parallel FFT algorithms with implementation templates in MPI and OpenMP.
Findings
Code often matches or exceeds standard library performance.
The methodology handles a wider range of problem sizes.
Generated code is competitive in efficiency.
Abstract
We describe a methodology for designing efficient parallel and distributed scientific software. This methodology utilizes sequences of mechanizable algebra--based optimizing transformations. In this study, we apply our methodology to the FFT, starting from a high--level algebraic algorithm description. Abstract multiprocessor plans are developed and refined to specify which computations are to be done by each processor. Templates are then created that specify the locations of computations and data on the processors, as well as data flow among processors. Templates are developed in both the MPI and OpenMP programming styles. Preliminary experiments comparing code constructed using our methodology with code from several standard scientific libraries show that our code is often competitive and sometimes performs better. Interestingly, our code handled a larger range of problem sizes on…
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 · Distributed and Parallel Computing Systems · Embedded Systems Design Techniques
