Title :
An auto-tuning approach for optimizing base operators for non-destructive testing applications on heterogeneous multi-core architectures
Author :
Heller, Thomas ; Fey, D. ; Rehak, Markus
Author_Institution :
Dept. of Comput. Sci., Friedrich-Alexander Univ. Erlangen-Nurnberg, Erlangen, Germany
Abstract :
The field of non-destructive testing imposes rising performance requirements related to the compute resources necessary to satisfy application needs. The creation of scalable applications in that field, which efficiently utilize today´s mostly heterogeneous compute resources has proven to be complicated. In order to allow domain experts coming from a materials science background, to exploit modern heterogenous computing architectures, new classes of frameworks for efficient applications need to be developed. This paper proposes a new framework to develop efficient operators and operator chains for applications in the field of non-destructive testing, based on a self-organizing autotuning approach. The framework provides a C++ Interface to define base operators and implements an Embedded Domain Specific Language (EDSL) using C++ Expression Templates (ETs) which allows a succinct definition of an Operator Chain. The framework applies various kinds of optimizations by utilizing C++ Template Metaprogramming techniques. These optimizations include feedback based auto-tuning and auto-parallelization of the resulting Pipeline based on the advanced dataflow and future´s techniques provided by the High Performance ParalleX (HPX), a general purpose parallel C++ runtime system.
Keywords :
C++ language; data flow computing; materials science computing; multiprocessing systems; nondestructive testing; parallel programming; pipeline processing; resource allocation; C++ expression templates; C++ interface; C++ template metaprogramming technique; EDSL; Embedded Domain Specific Language; HPX; High Performance ParalleX; advanced dataflow technique; base operator optimization; feedback based autotuning; general purpose parallel C++ runtime system; heterogeneous compute resources; heterogeneous multicore architectures; heterogenous computing architectures; materials science; nondestructive testing application; operator chains; performance requirements; pipeline autoparallelization; self-organizing autotuning approach; Abstracts; Hardware; Multicore processing; Optimization; Pipelines; Testing; Auto-Parallelization; Auto-Tuning; Multicore Processing; Non-destructive Testing;
Conference_Titel :
Object/Component/Service-Oriented Real-Time Distributed Computing (ISORC), 2013 IEEE 16th International Symposium on
Conference_Location :
Paderborn
DOI :
10.1109/ISORC.2013.6913243