Transmogrifying performance analysis: data analytics on GPU application codes
MetadataShow full item record
High Performance Computing (HPC) is now reaching exactable capabilities. Modern supercomputers are catalyzing scientific research and have become central tools in topics like big data analysis and machine/deep learning. However, the road to extreme-scale computing is not without its challenges. Energy efficiency as well as power and cooling are some of the hardware concerns in this quest. On the other hand aspects like application scaling, the cost of scientific code development including new programming models and portability issues are some examples of challenges in the software spectrum. This project is focused on one particular challenge that is also crucial in achieving next generation compute capabilities: application performance analysis and optimization. Many of the leading HPC systems are powered by heterogeneous compute nodes, which integrate Graphic Processing Units (GPUs) as hardware accelerators. Adapting modern applications to leverage such systems effectively is of great importance. The performance evaluation process is key in enabling algorithms to scale on these modern massively parallel clusters. Although modern tools allow for the analysis of parallel applications, they usually limit the user to proprietary data formats and data visualization interfaces, effectively restricting the kinds of analysis that can be done. In this project, we implemented a data transformation and manipulation workflow that enables the creation of context-aware hierarchical performance data for GPU applications profiled with NVIDIA’s NSight Tools. This information can then be loaded into a tool like Hatchet, a Python-based library, to enable programmatic performance analysis. Through a series of case studies, we showcase how this newly implemented workflow in hand with a data analytics approach can help users identify bottlenecks and implement custom and reproducible analysis of GPU-accelerated performance data.
Proyecto de Graduación (Maestría en Computación) Instituto Tecnológico de Costa Rica, Escuela de Ingeniería en Computación, 2022.
- Maestría en Computación