OpenACC Profiling Support for Clang and LLVM using Clacc and TAU

Camille Coti, Joel E. Denny, Kevin Huck, Seyong Lee, Allen D. Malony, Sameer Shende, Jeffrey S. Vetter

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

5 Scopus citations

Abstract

Since its launch in 2010, OpenACC has evolved into one of the most widely used portable programming models for accelerators on HPC systems today. Clacc is a project funded by the US Exascale Computing Project (ECP) to bring OpenACC support for C and C++ to the popular Clang and LLVM compiler infrastructure. In this paper, we describe Clacc's support for the OpenACC Profiling Interface, a critical component of the OpenACC specification that standardizes an interface that profiling tools and libraries can depend upon across OpenACC implementations. As part of Clacc's general strategy to build OpenACC support upon OpenMP, we describe how Clacc builds OpenACC Profiling Interface support upon an extended version of OMPT. We then describe how a major profiling and tracing toolkit within ECP, the TAU Performance System, takes advantage of this support. We also describe TAU's selective instrumentation support for OpenACC. Finally, using Clacc and TAU, we present example visualizations for several SPEC ACCEL OpenACC benchmarks running on an IBM AC922 node, and we show that the associated performance overhead is negligible.

Original languageEnglish
Title of host publicationProceedings of 2020 IEEE/ACM International Workshop on HPC User Support Tools, HUST 2020 and the Workshop on Programming and Performance Visualization Tools, ProTools 2020 - Held in conjunction with SC 2020
Subtitle of host publicationThe International Conference for High Performance Computing, Networking, Storage and Analysis
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages38-48
Number of pages11
ISBN (Electronic)9781665422802
DOIs
StatePublished - Nov 2020
Event7th Annual IEEE/ACM International Workshop on HPC User Support Tools, HUST 2020 and the 2nd Workshop on Programming and Performance Visualization Tools, ProTools 2020 - Virtual, Atlanta, United States
Duration: Nov 18 2020 → …

Publication series

NameProceedings of 2020 IEEE/ACM International Workshop on HPC User Support Tools, HUST 2020 and the Workshop on Programming and Performance Visualization Tools, ProTools 2020 - Held in conjunction with SC 2020: The International Conference for High Performance Computing, Networking, Storage and Analysis

Conference

Conference7th Annual IEEE/ACM International Workshop on HPC User Support Tools, HUST 2020 and the 2nd Workshop on Programming and Performance Visualization Tools, ProTools 2020
Country/TerritoryUnited States
CityVirtual, Atlanta
Period11/18/20 → …

Funding

Abstract—Since its launch in 2010, OpenACC has evolved into one of the most widely used portable programming models for accelerators on HPC systems today. Clacc is a project funded by the US Exascale Computing Project (ECP) to bring OpenACC support for C and C++ to the popular Clang and LLVM compiler infrastructure. In this paper, we describe Clacc’s support for the OpenACC Profiling Interface, a critical component of the OpenACC specification that standardizes an interface that profiling tools and libraries can depend upon across OpenACC implementations. As part of Clacc’s general strategy to build OpenACC support upon OpenMP, we describe how Clacc builds OpenACC Profiling Interface support upon an extended version of OMPT. We then describe how a major profiling and tracing toolkit within ECP, the TAU Performance System, takes advantage of this support. We also describe TAU’s selective instrumentation support for OpenACC. Finally, using Clacc and TAU, we present example visualizations for several SPEC ACCEL OpenACC benchmarks running on an IBM AC922 node, and we show that the associated performance overhead is negligible. This research was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration.

Keywords

  • Clang
  • GPU
  • LLVM
  • OpenACC
  • OpenMP
  • accelerators
  • compiler
  • profiling

Fingerprint

Dive into the research topics of 'OpenACC Profiling Support for Clang and LLVM using Clacc and TAU'. Together they form a unique fingerprint.

Cite this