Mastering Software Variant Explosion for GPU Accelerators
Hardware/Software Co-Design, Department of Computer Science, University of Erlangen-Nuremberg, Germany
10th International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Platforms (HeteroPar), 2012
@inproceedings{membarth2012msv,
author={Membarth, Richard and Hannig, Frank and Teich, J{"u}rgen and K{"o}rner, Mario and Eckert, Wieland},
address={Rhodes Island, Greece},
booktitle={Proceedings of the 10th International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Platforms (HeteroPar)},
title={Mastering Software Variant Explosion for GPU Accelerators},
series={Lecture Notes on Computer Science (LNCS)},
year={2012},
month={aug},
date={2012-08-27},
organization={Springer}
}
Mapping algorithms in an efficient way to the target hardware poses a challenge for algorithm designers. This is particular true for heterogeneous systems hosting accelerators like graphics cards. While algorithm developers have profound knowledge of the application domain, they often lack detailed insight into the underlying hardware of accelerators in order to exploit the provided processing power. Therefore, this paper introduces a rule-based, domain-specific optimization engine for generating the most appropriate code variant for different Graphics Processing Unit (GPU) accelerators. The optimization engine relies on knowledge fused from the application domain and the target architecture. The optimization engine is embedded into a framework that allows to design imaging algorithms in a Domain-Specific Language (DSL). We show that this allows to have one common description of an algorithm in the DSL and select the optimal target code variant for different GPU accelerators and target languages like CUDA and OpenCL.
September 8, 2012 by hgpu