J Supercomput DOI 10.1007/s11227-014-1207-9 FuPerMod: a software tool for the optimization of data-parallel applications on heterogeneous platforms David Clarke · Ziming Zhong · Vladimir Rychkov · Alexey Lastovetsky © Springer Science+Business Media New York 2014 Abstract Optimization of data-parallel applications for modern HPC platforms requires partitioning the computations between the heterogeneous computing devices in proportion to their speed. Heterogeneous data partitioning algorithms are based on computation performance models of the executing platforms. Their implementation is not trivial as it requires: accurate and efficient benchmarking of computing devices, which may share resources and/or execute different codes; appropriate interpolation methods to predict performance; and advanced mathematical methods to solve the data partitioning problem. In this paper, we present FuPerMod, a software tool that addresses these implementation issues and automates the development of data parti- tioning code in data-parallel applications for heterogeneous HPC platforms. Keywords Heterogeneous computing · Data partitioning · Computation performance models 1 Introduction Many scientific applications implement data-parallel algorithms, originally designed for homogeneous HPC platforms. The applications range from linear algebra routines to computer simulations, such as computational fluid dynamics. Efficient execution of This research is supported by Science Foundation Ireland (Grant 08/IN.1/I2054). D. Clarke · Z. Zhong · V. Rychkov (B ) · A. Lastovetsky School of Computer Science and Informatics, University College Dublin, Dublin, Ireland e-mail: vladimir.rychkov@ucd.ie A. Lastovetsky e-mail: alexey.lastovetsky@ucd.ie URL: http://hcl.ucd.ie/project/fupermod 123