Show simple item record

dc.contributor.authorTang, Yuan
dc.contributor.authorChowdhury, Rezaul
dc.contributor.authorKuszmaul, Bradley C.
dc.contributor.authorLuk, Chi-Keung
dc.contributor.authorLeiserson, Charles E.
dc.date.accessioned2012-08-14T18:18:35Z
dc.date.available2012-08-14T18:18:35Z
dc.date.issued2011-06
dc.identifier.isbn978-1-4503-0743-7
dc.identifier.urihttp://hdl.handle.net/1721.1/72122
dc.description.abstractA 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.en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/1989493.1989508en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alike 3.0en_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en_US
dc.sourceMIT web domainen_US
dc.titleThe Pochoir Stencil Compileren_US
dc.typeArticleen_US
dc.identifier.citationTang, Yuan et al. “The Pochoir Stencil Compiler.” SPAA '11 Proceedings of the 23rd ACM symposium on Parallelism in algorithms and architectures 2011. 117.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.approverLeiserson, Charles E.
dc.contributor.mitauthorTang, Yuan
dc.contributor.mitauthorChowdhury, Rezaul
dc.contributor.mitauthorKuszmaul, Bradley C.
dc.contributor.mitauthorLuk, Chi-Keung
dc.contributor.mitauthorLeiserson, Charles E.
dc.relation.journalSPAA '11 Proceedings of the 23rd ACM symposium on Parallelism in algorithms and architecturesen_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
dspace.orderedauthorsTang, Yuan; Chowdhury, Rezaul Alam; Kuszmaul, Bradley C.; Luk, Chi-Keung; Leiserson, Charles E.en
dc.identifier.orcidhttps://orcid.org/0000-0003-4059-765X
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record