Efficient and Portable Workgroup Size Tuning

Chia Lin Yu*, Shiao Li Tsao

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

The performance of an OpenCL program is strongly influenced by both hardware and software attributes. To achieve superior performance, developers may leverage automatic performance tuning techniques to determine the optimal parameters on the target device. Although existing approaches have shown promising tuning results in their target scenarios, other requirements such as efficiency, portability, and usability should also be considered because of the rapid growth of heterogeneous computing applications and platforms. In this paper, we re-examine the workgroup size tuning problem and propose a novel approach to meet the aforementioned requirements. We abstract the architectural details into a set of hardware parameters so that the proposed approach can be applied without the presence of target devices, which makes it more accessible to developers. The proposed approach is evaluated on 20 OpenCL kernels and six devices, including both CPUs and GPUs. Experimental results demonstrate that, with negligible overhead, our approach filters out 88.6 percent of the possible workgroup sizes on average. Among all the workgroup size candidates, the best- and worst-performing candidates can achieve average performance of 95.5 and 92.1 percent, respectively, compared with the optimal workgroup size.

Original languageEnglish
Article number8812929
Pages (from-to)455-469
Number of pages15
JournalIEEE Transactions on Parallel and Distributed Systems
Volume31
Issue number2
DOIs
StatePublished - 1 Feb 2020

Keywords

  • automatic performance tuning
  • microbenchmarking
  • OpenCL
  • workgroup size selection

Fingerprint Dive into the research topics of 'Efficient and Portable Workgroup Size Tuning'. Together they form a unique fingerprint.

Cite this