PInT: Pattern Instrumentation Tool for Analyzing and Classifying HPC Applications
Fabian Schlebusch, Yannik Muller, Sandra Wienke, Julian Miller, Matthias Müller · 2018
The relationship of application performance to its required development effort plays an important role in today's budget-oriented HPC environment. This effort-performance relationship is especially affected by the structure and characterization of an HPC application. We aim at a classification of HPC applications using (design) patterns for parallel programming. For an efficient analysis of parallel patterns and applicable pattern definitions, we introduce our tool PInT that is based on source code instrumentation and Clang LibTooling. Furthermore, we propose metrics to examine occurrences and compositions of patterns that can be automatically evaluated by PInT. In two case studies, we show the applicability and functionality of PInT.