Skip to content

Prototype implementation of Grain Graphs, a performance visualization method for OpenMP programs

License

Notifications You must be signed in to change notification settings

anamud/grain-graphs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grain Graphs

Grain graphs is a visualization method for OpenMP that connects performance problems to the fork-join program structure resolved into grains -- task and parallel for-loop chunk instances created during execution. Grains that suffer crippling problems such as low parallelism, work inflation, and poor parallelization benefit are pinpointed on grain graphs. Since programmers readily identify with the grain-resolved fork-join program structure, problem diagnosis is simplified. In contrast, existing visualizations complicate diagnosis by resolving performance problems from a runtime system or threads perspective that is unfamiliar and unpredictable to programmers.

Documents

See the wiki for more information about grain graphs, including use of a proof-of-concept prototype implementation.

Citation

If you use grain graphs in your work, please cite the debut paper:

Muddukrishna, Ananya, P. A. Jonsson, A. Podobas, and M. Brorsson,
"Grain Graphs: OpenMP Performance Analysis Made Easy," in
Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming,
New York, NY, USA, 2016, p. 28:1–28:13.