Proceedings of the Twenty-Third Annual ACM Symposium on Parallelism in Algorithms and Architectures 2011
DOI: 10.1145/1989493.1989508
|View full text |Cite
|
Sign up to set email alerts
|

The pochoir stencil compiler

Abstract: A stencil computation repeatedly updates each point of a ddimensional 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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
229
0
1

Year Published

2012
2012
2020
2020

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 288 publications
(231 citation statements)
references
References 31 publications
1
229
0
1
Order By: Relevance
“…These include Firedrake [1], FENiCS [25] and Liszt [14], OP2 [6] for unstructured mesh applications and Paraiso [24], Ypnos [26], Pochoir [30] and SBLOCK [12] for explicit stencil based applications (structured mesh applications).…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…These include Firedrake [1], FENiCS [25] and Liszt [14], OP2 [6] for unstructured mesh applications and Paraiso [24], Ypnos [26], Pochoir [30] and SBLOCK [12] for explicit stencil based applications (structured mesh applications).…”
Section: Related Workmentioning
confidence: 99%
“…Pochoir [30] is a compiler and runtime system for implementing stencil computations on multi-core processors. The main aim of the project is to generate cache efficient multi-threaded CPU code for structured mesh (i.e.…”
Section: Related Workmentioning
confidence: 99%
“…Alone for the domain of stencil computations, there are, e.g., Liszt [13] (or the newer DeLite), Pochoir [39], and PATUS [11]. Each one of these is pursuing specific goals: Liszt adds abstractions to Java to make stencils programming easier, also for unstructured problems; Pochoir employs a divide-andconquer skeleton on top of the parallel C extension Cilk to make stencil computations cache-oblivious; PATUS achieves performance by auto-tuning.…”
Section: Domain-specific Source Languagesmentioning
confidence: 99%
“…The technology has since been broadly disseminated in the ATLAS package [12]. Auto-tuning libraries include OSKI (sparse linear algebra) [13], SPIRAL (Fast Fourier Transforms) [14], and stencils [15,16], in each case showing large performance improvements over non-autotuned implementations. With the exception of SPIRAL and Pochoir, all of these code generators use ad-hoc Perl or C with simple string replacement, unlike the template and tree manipulation systems provided by SEJITS.…”
Section: Related Workmentioning
confidence: 99%