DocumentCode
1916127
Title
Zero-Overhead Interfaces for High-Performance Computing Libraries and Kernels
Author
Schafer, Andreas ; Fey, D.
Author_Institution
Dept. of Comput. Sci., Friedrich-Alexander-Univ. Erlangen-Nurnberg (FAU), Nürnberg, Germany
fYear
2012
fDate
10-16 Nov. 2012
Firstpage
1139
Lastpage
1146
Abstract
In this paper we propose a domain-specific language-based approach to reduce the overhead associated with accessing external data from computational kernels. Libraries which aid application developers in parallelizing and optimizing their codes need a way to expose their internal data stores to user code. An efficient interface as well as an optimized data layout are imperative for high application performance. We focus on codes which operate on regular grids and require only local interactions. These stencil-based programs form a class of algorithms found at the heart of many computer simulations and PDE solvers. Many stencil codes are memory bound, meaning that their performance depends heavily on an efficient usage of the computers´ memory subsystem. This work´s contribution is to give an extensive review of the available implementation alternatives and to put them in context with the state of the art. From this we derive our domain-specific language (DSL) which alleviates many of the shortcomings of previous designs, especially related to the utilization of SIMD units and simplifying the address generation. Simultaneously it provides a natural, object-oriented way of expressing data structures and accesses. We validate our DSL with benchmark results obtained from two kernels: one reverse time migration and one Lattice Boltzmann method.
Keywords
parallel processing; specification languages; DSL; PDE solver; code optimization; code parallelization; computational kernel; data layout; domain-specific language-based approach; high-performance computing kernel; high-performance computing library; lattice Boltzmann method; partial differential equation; reverse time migration; stencil-based program; zero-overhead interface; domain-specific language; stencil codes; structure of arrays; vectorization;
fLanguage
English
Publisher
ieee
Conference_Titel
High Performance Computing, Networking, Storage and Analysis (SCC), 2012 SC Companion:
Conference_Location
Salt Lake City, UT
Print_ISBN
978-1-4673-6218-4
Type
conf
DOI
10.1109/SC.Companion.2012.137
Filename
6495919
Link To Document