Code Refinement of Stencil Codes

Marcel Koster, Roland Leissa, Sebastian Hack
Compiler Design Lab, Saarland University, Intel Visual Computing Institute
Parallel Processing Letters, Vol. 24, No. 3, 1441003, 2014


   title={Code Refinement of Stencil Codes},

   author={K{"o}ster, Marcel and Lei{ss}a, Roland and Hack, Sebastian and Membarth, Richard and Slusallek, Philipp},

   journal={Parallel Processing Letters},




   publisher={World Scientific}


Download Download (PDF)   View View   Source Source   



A straightforward implementation of an algorithm in a general-purpose programming language does usually not deliver peak performance: Compilers often fail to automatically tune the code for certain hardware peculiarities like memory hierarchy or vector execution units. Manually tuning the code is firstly error-prone as well as time-consuming and secondly taints the code by exposing those peculiarities to the implementation. A popular method to avoid these problems is to implement the algorithm in a Domain-Specific Language (DSL). A DSL compiler can then automatically tune the code for the target platform. In this article we show how to embed a DSL for stencil codes in another language. In contrast to prior approaches we only use a single language for this task which offers explicit control over code refinement. This is used to specialize stencils for particular scenarios. Our results show that our specialized programs achieve competitive performance compared to hand-tuned CUDA programs while maintaining a convenient coding experience.
No votes yet.
Please wait...

You must be logged in to post a comment.

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: