Analyzing Offloading Inefficiencies in Scalable Heterogeneous Applications

Research output: Contribution to book/conference proceedings/anthology/reportConference contributionContributedpeer-review

Abstract

With the rise of accelerators in high performance computing, programming models for the development of heterogeneous applications have evolved and are continuously being improved to increase program performance and programmer productivity. The concept of computation offloading to massively parallel compute devices has established itself as a new layer of parallelism in scientific applications, next to message passing and multi-threading. To optimize the execution of a respective parallel heterogeneous program for a specific platform, performance analysis is crucial. This work abstracts from specific offloading APIs such as available with CUDA, OpenCL, OpenACC, and OpenMP and summarizes common inefficiencies for offloading. Based on the definition of inefficiency patterns, the offloading concept can be included in generic analysis techniques such as critical-path and root-cause analysis. We implemented the detection and evaluation of inefficiency patterns as a post-mortem trace analysis, which finally highlights program activities with a high potential to reduce the total program runtime.

Details

Original languageUndefined
Title of host publicationHigh Performance Computing
EditorsJulian M. Kunkel, Rio Yokota, Michela Taufer, John Shalf
Place of PublicationCham
PublisherSpringer International Publishing AG
Pages457-476
Number of pages20
ISBN (print)978-3-319-67630-2
Publication statusPublished - 2017
Peer-reviewedYes

External IDs

Scopus 85032658602