PUMA-V: An Interactive Visual Tool for Code Optimization and Parallelization Based on the Polyhedral Model
Eric Papenhausen, Klaus Mueller, Harper Langston, Benoit Meister, Richard Lethin
Publication Source: Presentation for 2016 New York Scientific Data Summit (NYSDS), New York, NY, USA.
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. Users can leverage automatic optimization techniques from the underlying optimizing compiler as well as perform specific transformations using interactive visualization. User studies show that using PUMA-V enabled up to 2x performance improvement over automatic techniques alone.