Loading…

Autotuning in an Array Processing Language using High-level Program Transformations

An autotuning framework based on an algorithm description language dedicated to array processing is introduced. The array processing language allows algorithm developers, may not be equipped with non-trivial knowledge of the increasingly complex architecture of today's processors, to easily per...

Full description

Saved in:
Bibliographic Details
Published in:Procedia computer science 2011, Vol.4, p.2126-2135
Main Authors: Shirota, Yusuke, Segawa, Jun’ichi, Tarui, Masaya, Kanai, Tatsunori
Format: Article
Language:English
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:An autotuning framework based on an algorithm description language dedicated to array processing is introduced. The array processing language allows algorithm developers, may not be equipped with non-trivial knowledge of the increasingly complex architecture of today's processors, to easily perform extensive platform-specific tuning to fully extract performance. A given array processing program is translated into candidate parallel C codes, the best of which can then be selected by empirical evaluation. The high-level abstraction nature of our language allows a unique array processing program to be exposed to wide range of high-level program transformations, thus raising chances of obtaining high performance code. Furthermore, it also enables to extract algorithm-level information which can then be used in heuristic methods for efficient optimization parameter space exploration in the autotuning process. The results of preliminary evaluations show that autotuning using the parameterized C code variants generated with high-level program transformation is useful.
ISSN:1877-0509
1877-0509
DOI:10.1016/j.procs.2011.04.233