Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Open Access Articles
  3. MIT Open Access Articles
  4. The Pochoir Stencil Compiler

The Pochoir Stencil Compiler

Thumbnail Image
Download
Name

Leiserson_The Pochoir Stencil Compiler.pdf

Size

283.71 KB

Format

Adobe PDF

Checksum (MD5)

1fae2003928f4bcb2d4211c500ea3cdb

Author(s)
Tang, Yuan
•
Chowdhury, Rezaul
•
Kuszmaul, Bradley C.
•
Luk, Chi-Keung
•
Leiserson, Charles E.
Date Issued
June 2011
Journal
SPAA '11 Proceedings of the 23rd ACM symposium on Parallelism in algorithms and architectures
Publisher
Association for Computing Machinery (ACM)
Citation
Tang, Yuan et al. “The Pochoir Stencil Compiler.” SPAA '11 Proceedings of the 23rd ACM symposium on Parallelism in algorithms and architectures 2011. 117.
Version
Author's final manuscript
Abstract
A stencil computation repeatedly updates each point of a d-dimensional grid as a function of itself and its near neighbors. Parallel cache-efficient stencil algorithms based on "trapezoidal decompositions" are known, but most programmers find them difficult to write. The Pochoir stencil compiler allows a programmer to write a simple specification of a stencil in a domain-specific stencil language embedded in C++ which the Pochoir compiler then translates into high-performing Cilk code that employs an efficient parallel cache-oblivious algorithm. Pochoir supports general d-dimensional stencils and handles both periodic and aperiodic boundary conditions in one unified algorithm. The Pochoir system provides a C++ template library that allows the user's stencil specification to be executed directly in C++ without the Pochoir compiler (albeit more slowly), which simplifies user debugging and greatly simplified the implementation of the Pochoir compiler itself. A host of stencil benchmarks run on a modern multicore machine demonstrates that Pochoir outperforms standard parallelloop implementations, typically running 2-10 times faster. The algorithm behind Pochoir improves on prior cache-efficient algorithms on multidimensional grids by making "hyperspace" cuts, which yield asymptotically more parallelism for the same cache efficiency.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike 3.0
http://creativecommons.org/licenses/by-nc-sa/3.0/
Persistent DSpace Link
http://hdl.handle.net/1721.1/72122
DOI of Published Version
https://doi.org/10.1145/1989493.1989508
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.