PUMA-V: Optimizing Parallel Code Performance Through Interactive Visualization (original) (raw)
Visual Analytics and Imaging Laboratory (VAI Lab) Computer Science Department, Stony Brook University, NY | ![]() |
---|
Abstract: Performance optimization for parallel, loop-oriented programs compromises between parallelism and locality. We present a visualization interface which allows programmers to assist the compiler in generating optimal code. It greatly improves the user�s understanding of the transformations that took place and aids in making additional transformations in a visually intuitive way.
**Teaser:**The PUMA-V tool showing the state of the code – a consecutive matrix multiplication task – after the “affine scheduling” optimization (or tactic) has been applied:
Panel (a) shows the tactic view. It is a subway visualization, where each tactic is represented by a station, applied sequentially left to right. Panel (b) shows the dependence graph view. It is a node-link diagram where nodes represent statements and edges represent dependences. The code view in (c) lists the nested-loop program code that is being optimized. Finally, the beta tree view in (d) shows the lexicographic ordering of loops and statements. Each branch is a nested loop where the numbers refer to the numbers appended to the code statements in the code view.
Video: Watch it to get a quick overview:
Paper: E. Papenhausen, M.H. Langston, B. Meister, R. Lethin, K. Mueller, "PUMA-V: Optimizing Parallel Code Performance Through Interactive Visualization," _IEEE Computer Graphics & Applications,_39(1): 84-99, 2019. pdf [ppt](PUMA-V VIS 2019 talk.ppt)
Funding: NSF grant IIS-1527200 and DOE STTR Phase I/II grants DE-FOA-0000760/DEFOA-000101