PUMA-V: An interactive visual tool for code optimization and parallelization based on the polyhedral model - Papenhausen, Eric; Mueller, Klaus; Langston, Harper; Meister, Benoit; Lethin, Richard (2016 New York Scientific Data Summit (NYSDS), 2016)
Taking advantage of multi-core processing has become crucial in realizing significant performance gains for most applications. When it comes to performance optimization, this has led to a delicate balancing act between parallelism and locality. Furthermore, exposing parallelism can require some non-trivial transformations. Although tools exist to automatically identify good transformations, a user guided exploration can often yield substantially better performance. We have developed a visualization interface, called PUMA-V, which combines user and machine efforts to optimize parallel code performance. By conveying information related to the structure of the code and performance characteristics, the user can focus on a subset of transformations to alleviate performance bottlenecks. Combining automatic optimization techniques with interactive visualizations helps the user perform this exploration rapidly.