CCA/EBT: Code Comprehension Assistance Tool for Evidence-Based Performance Tuning (HPCAsia2018) CCA/EBT: Code Comprehension Assistance Tool for Evidence-Based Performance Tuning (HPCAsia2018)
program analysis, machine learning, high performance computing, Fortran, evidence-based performance tuning
Application performance tuning is still quite an art, despite advances in auto-tuning systems. Evidence-based performance tuning (EBT) aims at helping performance engineers gain and share evidence of performance improvement to make better decisions. As a step toward the goal, we have developed a tool, CCA/EBT, which assists performance engineers in comprehending source code written in Fortran, especially to identify loop kernels. The tool analyzes syntactic/semantic structures of source code and then provides outline views of the nested loops and the call trees, decorated with source code metrics. With the tool, 175,963 loops from a thousand computation-intensive applications have been explored. Based on the manual classification results of a randomly sampled subset of the loops, we have constructed an additional module for predicting loop kernels, which achieved cross-validated classification accuracy of 81%.
The tools is available here.
CCA/EBT: Code Comprehension Assistance Tool for Evidence-Based Performance Tuning
Masatomo Hashimoto, Masaaki Terai, Toshiyuki Maeda, Kazuo Minami
Poster presented at International Conference on High Performance Computing in Asia-Pacific Region (HPC Asia 2018), Tokyo Japan, Jan. 28-31, 2018.