Publications Repository - Helmholtz-Zentrum Dresden-Rossendorf
1 PublicationScalable critical-path analysis and optimization guidance for hybrid MPI-CUDA applications
Schmitt, F.; Dietrich, R.; Juckeland, G.
Abstract
The use of accelerators in heterogeneous systems is an established approach in designing petascale applications. Today, Compute Unified Device Architecture (CUDA) offers a rich programming interface for GPU accelerators but requires developers to incorporate several layers of parallelism on both the CPU and the GPU. From this increasing program complexity emerges the need for sophisticated performance tools. This work contributes by analyzing hybrid MPI-CUDA programs for properties based on wait states, such as the critical path, a metric proven to identify application bottlenecks effectively. We developed a tool to construct a dependency graph based on an execution trace and the inherent dependencies of the programming models CUDA and Message Passing Interface (MPI). Thereafter, it detects wait states and attributes blame to responsible activities. Together with the property of being on the critical path, we can identify activities that are most viable for optimization. To evaluate the global impact of optimizations to critical activities, we predict the program execution using a graph-based performance projection. The developed approach has been demonstrated with suitable examples to be both scalable and correct. Furthermore, we establish a new categorization of CUDA inefficiency patterns ensuing from the dependencies between CUDA activities.
Keywords: GPGPU; CUDA; MPI; wait states; critical-path analysis; performance analysis; performance optimization
-
International Journal of High Performance Computing Applications 31(2017)6, 485-498
Online First (2016) DOI: 10.1177/1094342016661865
Cited 8 times in Scopus
Downloads
- Final Draft PDF 391 kB Secondary publication
Permalink: https://www.hzdr.de/publications/Publ-23968
Years: 2023 2022 2021 2020 2019 2018 2017 2016 2015