A comparison between Automatically versus Manually Parallelized NAS Benchmarks
Parinaz Barakhshan, Rudolf Eigenmann

TL;DR
This paper compares automatic and manual parallelization of NAS benchmarks, identifying key challenges and opportunities for improving compiler techniques to enhance parallel code performance.
Contribution
It highlights specific code patterns that challenge current parallelizers and suggests directions for advancing automatic parallelization techniques.
Findings
Ten challenging code patterns identified for current parallelizers.
Potential improvements include better loop parallelization and load balancing.
Some transformations are within reach of future compiler advancements.
Abstract
We compare automatically and manually parallelized NAS Benchmarks in order to identify code sections that differ. We discuss opportunities for advancing automatic parallelizers. We find ten patterns that pose challenges for current parallelization technology. We also measure the potential impact of advanced techniques that could perform the needed transformations automatically. While some of our findings are not surprising and difficult to attain -- compilers need to get better at identifying parallelism in outermost loops and in loops containing function calls -- other opportunities are within reach and can make a difference. They include combining loops into parallel regions, avoiding load imbalance, and improving reduction parallelization. Advancing compilers through the study of hand-optimized code is a necessary path to move the forefront of compiler research. Very few recent…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Cloud Computing and Resource Management
