Publication | Closed Access
Runtime and language support for compiling adaptive irregular programs on distributed‐memory machines
67
Citations
30
References
1995
Year
EngineeringCompiler TechnologyComputer ArchitectureSoftware EngineeringHardware SystemsSoftware AnalysisParallel AlgorithmsComputing SystemsCompilersParallel ComputingLanguage SupportAdaptive Irregular ProgramsProgramming LanguagesDynamic CompilationDistributed‐memory MachinesParallelizing CompilerCompiler SupportComputer EngineeringComputer ScienceChaos LibraryEfficient Runtime PrimitivesChaos PrimitivesProgram AnalysisParallel ProcessingParallel ProgrammingData-level Parallelism
Abstract In many scientific applications, arrays containing data are indirectly indexed through indirection arrays. Such scientific applications are called irregular programs and are a distinct class of applications that require special techniques for parallelization. This paper presents a library called CHAOS, which helps users implement irregular programs on distributed‐memory message‐passing machines, such as the Paragon, Delta, CM‐5 and SP‐1. The CHAOS library provides efficient runtime primitives for distributing data and computation over processors; it supports efficient index translation mechanisms and provides users high‐level mechanisms for optimizing communication. CHAOS subsumes the previous PARTI library and supports a larger class of applications. In particular, it provides efficient support for parallelization of adaptive irregular programs where indirection arrays are modified during the course of computation. To demonstrate the efficacy of CHAOS, two challenging real‐life adaptive applications were parallelized using CHAOS primitives: a molecular dynamics code, CHARMM, and a particle‐in‐cell code, DSMC. Besides providing runtime support to users, CHAOS can also be used by compilers to automatically parallelize irregular applications. This paper demonstrates how CHAOS can be effectively used in such a framework. By embedding CHAOS primitives in the Syracuse Fortran 90D/HPF compiler, kernels taken from the CHARMM and DSMC codes have been automatically parallelized.
| Year | Citations | |
|---|---|---|
Page 1
Page 1