Locally-Oriented Programming: A Simple Programming Model for Stencil-Based Computations on Multi-Level Distributed Memory Architectures
Craig Rasmussen, Matthew Sottile, Daniel Nagle, Soren, Rasmussen

TL;DR
This paper introduces a locally-oriented programming model that simplifies programming for stencil-based computations on complex multi-level distributed memory architectures, reducing the learning curve and complexity.
Contribution
It proposes a new programming approach that allows coding by modifying a single element with access to a local sub-array, implemented via source-to-source transformations.
Findings
Simplifies programming for stencil computations on complex architectures
Reduces the need to learn new languages like OpenCL
Demonstrates feasibility through source-to-source transformation
Abstract
Emerging hybrid accelerator architectures for high performance computing are often suited for the use of a data-parallel programming model. Unfortunately, programmers of these architectures face a steep learning curve that frequently requires learning a new language (e.g., OpenCL). Furthermore, the distributed (and frequently multi-level) nature of the memory organization of clusters of these machines provides an additional level of complexity. This paper presents preliminary work examining how programming with a local orientation can be employed to provide simpler access to accelerator architectures. A locally-oriented programming model is especially useful for the solution of algorithms requiring the application of a stencil or convolution kernel. In this programming model, a programmer codes the algorithm by modifying only a single array element (called the local element), but has…
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 · Advanced Data Storage Technologies
