Experiments on Optimizing the Performance of Stencil Codes with SPL Conqueror
Abstract
A standard technique for numerically solving elliptic partial differential equations on structured grids is to discretize them, and, then, to apply an efficient geometric multi-grid solver. Unfortunately, finding the optimal choice of multi-grid components and parameter settings is challenging and existing auto-tuning techniques fail to explain performance-optimal settings. To improve the state of the art, we explore whether recent work on optimizing configurations of product lines can be applied to the stencil-code domain. In particular, we extend the domain-independent tool SPL Conqueror in an empirical study to predict the performance-optimal configurations of three geometric multi-grid stencil codes: a program using HIPAcc, the evaluation prototype HSMGP, and a program using DUNE. For HIPAcc, we reach an prediction accuracy of 96%, on average, measuring only 21.4% of all configurations; we predict a configuration that is nearly optimal after measuring less than 0.3% of all configurations. For HSMGP, we predict performance with an accuracy of 97% including the performance-optimal configuration, while measuring 3.2% of all configurations. For DUNE, we predict performance of all configurations with an accuracy of 86% after measuring 3.3% of all configurations. The performance-optimal configuration is within the 0.5% configurations predicted to perform best.


