The stencil domain specific language (SDSL) is a domain-specific language for expressing stencil computations. SDSL is loosely based on the RNPL and SNPL languages used for rapid prototyping of partial differential equation solvers, although the resemblance is mostly cosmetic and no code is shared between the projects. The purpose of SDSL is to provide a programming language that allows for the specification of non-trivial stencil computations in a form that enables the generation of high-performance implementations that can be obtained in a performance-portable manner on multiple platforms.
SDSL can be embedded in C, C++, and MATLAB code. Currently, backends exist for generating (1) affine C99 code intended for further optimization by polyhedral compiler tools including PolyOpt/C and PoCC, (2) CUDA code with overlapped tiling optimizations as described by Holewinski, Pouchet, and Sadayappan, and (3) short-vector SIMD code for SSE2, SSE4, AVX, Xeon Phi (experimental), and ARM NEON (experimental) vector ISA with split tiling and DLT optimizations.
- Tom Henretty
- Justin Holewinski
- Prashant Rawat
- Kevin Stock
- Naser Sedaghati
- Richard Veras
- Franz Franchetti
- Louis-Noël Pouchet
- J. Ramanujam
- Atanas Rountev
- P. Sadayappan
- T. Henretty, J. Holewinski, R. Veras, F. Franchetti, L.N. Pouchet, J. Ramanujam, A. Rountev, P. Sadayappan. “A Domain-Specific Language and Compiler for Stencil Computations on Short-Vector SIMD and GPU Architectures,” Compilers for Parallel Computing Workshop (CPC), July 2013. link
- T. Henretty, R. Veras, F. Franchetti, L.N. Pouchet, J. Ramanujam, P. Sadayappan. “A Stencil Compiler for Short-Vector SIMD Architectures,” International Conference on Supercomputing (ICS), June 2013. link
- T. Henretty, J. Holewinski, N. Sedaghati, L.N. Pouchet, A. Rountev, P. Sadayappan. “Stencil Domain Specific Language (SDSL) User Guide,” Ohio State University Technical Report OSU-CISRC-4/13-TR09, 2013. link
- J. Holewinski, L.N. Pouchet, P. Sadayappan. “High-Performance Code Generation for Stencil Computations on GPU Architectures,” International Conference on Supercomputing (ICS), June 2012. link
- T. Henretty, K. Stock, L.N. Pouchet, F. Franchetti, J. Ramanujam and P. Sadayappan. "Data Layout Transformation for Stencil Computations on Short-Vector SIMD Architectures," International Conference on Compiler Construction (CC), March 2011. link
This work was supported in part by the U.S. National Science Foundation through awards 0811781, 0926127, 0926687, 0926688, and by the Center for Domain-Specific Computing (CDSC) funded by NSF "Expeditions in Computing" award 092617, by the U.S. Army through contract W911NF-10-1-0004, and by the U.S. Department of Energy through award DE-SC0005033.