Data-Parallel Compiler Support for Multipartitioning
Strategies for partitioning an application's data determine both the range of suitable parallelizations and their potential efficiency. For multi-directional line-sweep computations, multipartitioned data distributions offer better parallel efficiency and scalability than block unipartitionings. This paper describes extensions to the Rice dHPF compiler for High PerformanceFortran that enable it to support multipartitioned data distributions, and optimizations that enable dHPF to generate efficient multipartitioned code. We describe experiments applying these techniques to parallelize serial versions of the NAS SP and BT application benchmarks and show that the performance of the code generated by dHPF is within a few percent of that of hand-coded parallel implementations using multipartitioning.