TY - GEN
T1 - VIPACT
T2 - 3rd Workshop on Visual Performance Analysis, VPA 2016 Held in conjunction with The International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2016
AU - Nguyen, Huu Tan
AU - Wei, Lai
AU - Bhatele, Abhinav
AU - Gamblin, Todd
AU - Boehme, David
AU - Schulz, Martin
AU - Ma, Kwan Liu
AU - Bremer, Peer Timo
N1 - Publisher Copyright:
© 2016 IEEE.
PY - 2016/11/13
Y1 - 2016/11/13
N2 - Profiling tools are indispensable for performance optimization of parallel codes. They allow users to understand where a code spends its time, and to focus optimization efforts on the most time consuming regions. However, two sources of complexity make them difficult to use on large-scale parallel applications. First, the code complexity of parallel applications is increasingly, and identifying the problematic regions in the code is difficult. Traditional profilers show either a flat view or a calling context tree view. Second, most tools average performance data across processes, losing per-process behavior. Diagnosing problems like load imbalance requires profiles from many processes, and manually analyzing profiles from hundreds or thousands of processes is infeasible. We introduce VIPACT, a visualization tool to identify different behaviors in multiple processes. VIPACT introduces "halo nodes" that concisely encode the distributions of runtimes from all processes, and a hybrid tree view that combines the advantages of calling context trees with those of flat profiles. We combine these with approaches such as ring charts, as well as the filtering and subselection of nodes, and we apply these techniques to a production multi-physics code.
AB - Profiling tools are indispensable for performance optimization of parallel codes. They allow users to understand where a code spends its time, and to focus optimization efforts on the most time consuming regions. However, two sources of complexity make them difficult to use on large-scale parallel applications. First, the code complexity of parallel applications is increasingly, and identifying the problematic regions in the code is difficult. Traditional profilers show either a flat view or a calling context tree view. Second, most tools average performance data across processes, losing per-process behavior. Diagnosing problems like load imbalance requires profiles from many processes, and manually analyzing profiles from hundreds or thousands of processes is infeasible. We introduce VIPACT, a visualization tool to identify different behaviors in multiple processes. VIPACT introduces "halo nodes" that concisely encode the distributions of runtimes from all processes, and a hybrid tree view that combines the advantages of calling context trees with those of flat profiles. We combine these with approaches such as ring charts, as well as the filtering and subselection of nodes, and we apply these techniques to a production multi-physics code.
UR - https://www.scopus.com/pages/publications/85015217935
U2 - 10.1109/VPA.2016.9
DO - 10.1109/VPA.2016.9
M3 - Conference contribution
AN - SCOPUS:85015217935
T3 - Proceedings of VPA 2016: 3rd Workshop on Visual Performance Analysis - Held in conjunction with SC 2016: The International Conference for High Performance Computing, Networking, Storage and Analysis
SP - 25
EP - 28
BT - Proceedings of VPA 2016
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 13 November 2016 through 18 November 2016
ER -