This book presents a hybrid static-dynamic approach for efficient performance analysis of parallel applications on HPC systems. Performance analysis is essential to finding performance bottlenecks and understanding the performance behaviors of parallel applications on HPC systems. However, current performance analysis techniques usually incur significant overhead. Our book introduces a series of approaches for lightweight performance analysis.
We combine static and dynamic analysis to reduce the overhead of performance analysis. Based on this hybrid static-dynamic approach, we then propose several innovative techniques for various performance analysis scenarios, including communication analysis, memory analysis, noise analysis, computation analysis, and scalability analysis. Through these specific performance analysis techniques, we convey to readers the idea of using static analysis to support dynamic analysis.
To gain the most from the book, readers should have a basic grasp of parallel computing, computer architecture, and compilation techniques.Homepage