Autotuning OpenCL Workgroup Size for Stencil Patterns

Cummins, C., Petoumenos, P., Steuwer, M. and Leather, H. (2016) Autotuning OpenCL Workgroup Size for Stencil Patterns. The 6th International Workshop on Adaptive Self-tuning Computing Systems, Prague, Czech Republic, 18 Jan 2016.

146608.pdf - Accepted Version



Selecting an appropriate workgroup size is critical for the performance of OpenCL kernels, and requires knowledge of the underlying hardware, the data being operated on, and the implementation of the kernel. This makes portable performance of OpenCL programs a challenging goal, since simple heuristics and statically chosen values fail to exploit the available performance. To address this, we propose the use of machine learning-enabled autotuning to automatically predict workgroup sizes for stencil patterns on CPUs and multi-GPUs. We present three methodologies for predicting workgroup sizes. The first, using classifiers to select the optimal workgroup size. The second and third proposed methodologies employ the novel use of regressors for performing classification by predicting the runtime of kernels and the relative performance of different workgroup sizes, respectively. We evaluate the effectiveness of each technique in an empirical study of 429 combinations of architecture, kernel, and dataset, comparing an average of 629 different workgroup sizes for each. We find that autotuning provides a median 3.79x speedup over the best possible fixed workgroup size, achieving 94% of the maximum performance.

Item Type:Conference or Workshop Item
Glasgow Author(s) Enlighten ID:Steuwer, Dr Michel
Authors: Cummins, C., Petoumenos, P., Steuwer, M., and Leather, H.
Subjects:Q Science > QA Mathematics > QA75 Electronic computers. Computer science
College/School:College of Science and Engineering > School of Computing Science
Journal Name:CoRR
Copyright Holders:Copyright © 2016 The Authors
Publisher Policy:Reproduced with the permission of the Authors
Related URLs:

University Staff: Request a correction | Enlighten Editors: Update this record