Comparative Cross-Platform Performance Results from a Parallelizing SML Compiler
Norman Scaife, Greg Michaelson, Susumu Horiguchi
Abstract
Norman Scaife, Greg Michaelson, Susumu Horiguchi
Abstract
. We have developed a compiler for Standard ML which allows instantiation of a fixed set of higher order functions with equivalent parallel algorithmic skeletons written in C and MPI. The compiler is intended to be both portable and semi-automatic. Here we discuss the performance of the code generated by the compiler, for five exemplar programs on six MIMD parallel machines. Results suggest acceptable performance and consistent cross-platform behaviour. 1 Compiler overview We have developed a parallelising compiler [10] for a pure functional subset of Standard ML in which the sole source of parallelism is indicated by specific higher order functions (HOFs). These are translated into parallel algorithmic skeletons[3] implemented in C linked with an MPI library [8]. The main objective of this work is to build a compiler for which all parallelism is implicit. Our use of algorithmic skeletons allows us to partially achieve this goal. On the one hand the selection and parallel impl...
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
. We have developed a compiler for Standard ML which allows instantiation of a fixed set of higher order functions with equivalent parallel algorithmic skeletons written in C and MPI. The compiler is intended to be both portable and semi-automatic. Here we discuss the performance of the code generated by the compiler, for five exemplar programs on six MIMD parallel machines. Results suggest acceptable performance and consistent cross-platform behaviour. 1 Compiler overview We have developed a parallelising compiler [10] for a pure functional subset of Standard ML in which the sole source of parallelism is indicated by specific higher order functions (HOFs). These are translated into parallel algorithmic skeletons[3] implemented in C linked with an MPI library [8]. The main objective of this work is to build a compiler for which all parallelism is implicit. Our use of algorithmic skeletons allows us to partially achieve this goal. On the one hand the selection and parallel impl...
Key concepts: Computer science, Compiler, MIMD, Parallel computing, Speedup, Scalability, Interprocedural optimization, Compiler correctness