Cargando…
Utilizing GPU Performance Counters to Characterize GPU Kernels via Machine Learning
GPU computing kernels are relatively simple to write if achieving the best performance is not of the highest priority. However, it can quickly become a much more daunting task when users try to tune and optimize their kernels to obtain the highest performance. This is due to GPUs’ massive degree of...
Autores principales: | , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7302272/ http://dx.doi.org/10.1007/978-3-030-50371-0_7 |
_version_ | 1783547814466289664 |
---|---|
author | Zigon, Bob Song, Fengguang |
author_facet | Zigon, Bob Song, Fengguang |
author_sort | Zigon, Bob |
collection | PubMed |
description | GPU computing kernels are relatively simple to write if achieving the best performance is not of the highest priority. However, it can quickly become a much more daunting task when users try to tune and optimize their kernels to obtain the highest performance. This is due to GPUs’ massive degree of parallelism, complex memory hierarchy, fine grain synchronization, and long memory access latency. Hence, users must carry out the complex tasks of profiling, analyzing, and tuning to reduce performance bottlenecks. Today’s GPUs can generate hundreds of performance events that comprehensively quantify the behavior of a kernel. Instead of relying on experts’ manual analysis, this paper targets using machine learning methods to generalize GPU performance counter data to determine the characteristics of a GPU kernel as they will reveal possible reasons for low performance. We choose a set of problem-independent counters as our inputs to design and compare three machine learning methods to automatically classify the execution behavior of a kernel. The experimental results on stencil computing kernels and sparse matrix multiplications show the machine learning models’ good accuracy, and demonstrate a feasible approach that is capable of classifying a kernel’s characterizations and suggesting changes to a skilled user, who can subsequently improve kernel performance with less guessing. |
format | Online Article Text |
id | pubmed-7302272 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2020 |
record_format | MEDLINE/PubMed |
spelling | pubmed-73022722020-06-18 Utilizing GPU Performance Counters to Characterize GPU Kernels via Machine Learning Zigon, Bob Song, Fengguang Computational Science – ICCS 2020 Article GPU computing kernels are relatively simple to write if achieving the best performance is not of the highest priority. However, it can quickly become a much more daunting task when users try to tune and optimize their kernels to obtain the highest performance. This is due to GPUs’ massive degree of parallelism, complex memory hierarchy, fine grain synchronization, and long memory access latency. Hence, users must carry out the complex tasks of profiling, analyzing, and tuning to reduce performance bottlenecks. Today’s GPUs can generate hundreds of performance events that comprehensively quantify the behavior of a kernel. Instead of relying on experts’ manual analysis, this paper targets using machine learning methods to generalize GPU performance counter data to determine the characteristics of a GPU kernel as they will reveal possible reasons for low performance. We choose a set of problem-independent counters as our inputs to design and compare three machine learning methods to automatically classify the execution behavior of a kernel. The experimental results on stencil computing kernels and sparse matrix multiplications show the machine learning models’ good accuracy, and demonstrate a feasible approach that is capable of classifying a kernel’s characterizations and suggesting changes to a skilled user, who can subsequently improve kernel performance with less guessing. 2020-05-26 /pmc/articles/PMC7302272/ http://dx.doi.org/10.1007/978-3-030-50371-0_7 Text en © Springer Nature Switzerland AG 2020 This article is made available via the PMC Open Access Subset for unrestricted research re-use and secondary analysis in any form or by any means with acknowledgement of the original source. These permissions are granted for the duration of the World Health Organization (WHO) declaration of COVID-19 as a global pandemic. |
spellingShingle | Article Zigon, Bob Song, Fengguang Utilizing GPU Performance Counters to Characterize GPU Kernels via Machine Learning |
title | Utilizing GPU Performance Counters to Characterize GPU Kernels via Machine Learning |
title_full | Utilizing GPU Performance Counters to Characterize GPU Kernels via Machine Learning |
title_fullStr | Utilizing GPU Performance Counters to Characterize GPU Kernels via Machine Learning |
title_full_unstemmed | Utilizing GPU Performance Counters to Characterize GPU Kernels via Machine Learning |
title_short | Utilizing GPU Performance Counters to Characterize GPU Kernels via Machine Learning |
title_sort | utilizing gpu performance counters to characterize gpu kernels via machine learning |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7302272/ http://dx.doi.org/10.1007/978-3-030-50371-0_7 |
work_keys_str_mv | AT zigonbob utilizinggpuperformancecounterstocharacterizegpukernelsviamachinelearning AT songfengguang utilizinggpuperformancecounterstocharacterizegpukernelsviamachinelearning |