A Sampling Based Strategy to Automatic Performance Tuning of GPU Programs

Wilson Feng, Tarek S. Abdelrahman · 2017

We present a novel strategy for automatic performance tuning of GPU computational kernels. The strategy combines heuristic search with regression trees to prune the optimization space. It samples configurations in the space and uses these samples to build a regression tree. It then focuses the search on the leaf region of the tree with the best mean sample performance. Additional configurations are sampled in this region and a new regression tree is built using all the configurations sampled so far. This process is repeated until the leaf region with the best mean performance is small enough or the time allotted for auto-tuning is exhausted. We implement our strategy in OpenTuner, an open source automatic tuning framework. We evaluate the strategy using 8 benchmark GPU programs run on an Nvidia GTX 1060 GPU. We demonstrate the effectiveness of our strategy in obtaining good performing configurations. We further compare its effectiveness with the AUC Bandit strategy used by OpenTuner. Experimental results show that our strategy is more consistently able to obtain better performing configurations compared to OpenTuner's strategy with shorter auto-tuning times, by up to 34% averaged over multiple auto-tuning experiments. Further, our strategy overall examines better performing configurations compared to OpenTuner's, as reflected by the number of configurations examined and their cumulative execution time.

Read the paper · More papers on PaperTik