Code generation for parallel execution of a class of irregular loops on distributed memory systems

  • Authors:
  • Mahesh Ravishankar;John Eisenlohr;Louis-Noël Pouchet;J. Ramanujam;Atanas Rountev;P. Sadayappan

  • Affiliations:
  • The Ohio State University;The Ohio State University;The Ohio State University;Louisiana State University;The Ohio State University;The Ohio State University

  • Venue:
  • SC '12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Parallelization and locality optimization of affine loop nests has been successfully addressed for shared-memory machines. However, many large-scale simulation applications must be executed in a distributed-memory environment, and use irregular/sparse computations where the control-flow and array-access patterns are data-dependent. In this paper, we propose an approach for effective parallel execution of a class of irregular loop computations in a distributed-memory environment, using a combination of static and runtime analysis. We discuss algorithms that analyze sequential code to generate an inspector and an executor. The inspector captures the data-dependent behavior of the computation in parallel and without requiring complete replication of any of the data structures used in the original computation. The executor performs the computation in parallel. The effectiveness of the framework is demonstrated on several benchmarks and a climate modeling application.