Hartung-Gorre Verlag
Inh.: Dr.
Renate Gorre D-78465
Konstanz Fon: +49 (0)7533 97227 Fax: +49 (0)7533 97228 www.hartung-gorre.de
|
S
|
Series in Computational Science
edited by Illia Horenka,
Rolf Krause, Olaf Schenk
Volume 1
Matthias-Michael Christen
Generating and Auto-Tuning
Parallel Stencil Codes
1st
edition/ 1. Auflage 2011. VI, 284 pages/Seiten, € 64,00.
ISBN 978-3-86628-409-8
In this thesis, we
present a software framework, Patus, which generates high
performance stencil codes for different types of hardware platforms, including
current multicore CPU and graphics processing unit architectures. The ultimate
goals of the framework are productivity, portability (of both the code and
performance), and achieving a high performance on the target platform.
A stencil computation
updates every grid point in a structured grid based on the values of its neighboring points. This class of computations occurs
frequently in scientific and general purpose computing (e.g., in partial
differential equation solvers or in image processing), justifying the focus on
this kind of computation. The proposed key ingredients to achieve the goals of
productivity, portability, and performance are domain
specific languages (DSLs) and the auto-tuning methodology.
The Patus stencil specification DSL allows the programmer to
express a stencil computation in a concise way independently of hardware
architecture-specific details. Thus, it increases the programmer productivity
by disburdening her or him of low level programming model issues and of
manually applying hardware platformspecific code
optimization techniques. The use of domain specific languages also implies code
reusability: once implemented, the same stencil specification can be reused on
different hardware platforms, i.e., the specification code is portable across
hardware architectures. Constructing the language to be geared towards a
special purpose makes it amenable to more aggressive optimizations and
therefore to potentially higher performance.
Auto-tuning provides
performance and performance portability by automated adaptation of
implementation-specific parameters to the characteristics of the hardware on
which the code will run. By automating the process of parameter tuning - which
essentially amounts to solving an integer programming problem in which the
objective function is the number representing the code‘s performance as a
function of the parameter configuration, - the system can also be used more
productively than if the programmer had to fine-tune thecode
manually.
We show performance
results for a variety of stencils, for which Patus
was used to generate the corresponding implementations. The selection includes
stencils taken from two real-world applications: a simulation of the
temperature within the human body during hyperthermia cancer treatment and a
seismic application. These examples demonstrate the framework‘s flexibility and
ability to produce high performance code.
About the Author:
Matthias Christen studied
Mathematics, Computer Science, and Musicology at the University of Basel, Switzerland, from where he received his diploma in
2006. In his doctoral studies in Computer Science, also at the University of
Basel, he worked as a research assistant in the fields of Scientific Computing
and High Performance Computing. During this time he also took two research
internships at the Lawrence Berkeley National Laboratory in Berkeley, CA, USA.
He was awarded the Ph.D. degree from the University of Basel in 2011.
Keywords: Scientific Computing, High
Performance Computing, Stencil Codes
Series in
Computational Science
Bookorders at / Buchbestellungen in
Ihrer Buchhandlung oder bei Amazon.de
oder direkt:
Hartung-Gorre Verlag D-78465 Konstanz // Germany
Telefon: +49 (0) 7533 97227 //
Telefax: +49 (0) 7533 97228
http://www.hartung-gorre.de
eMail: verlag@hartung-gorre.de