Optimizing ordered graph algorithms with GraphIt
Name
3368826.3377909.pdf
Description
Published version
Size
580.74 KB
Format
Unknown
Checksum (MD5)
44d36560f8852c7d7e00e31d6452b1a5
Author(s) • • • • • •
Zhang, Yunming
Brahmakshatriya, Ajay
Chen, Xinyi
Dhulipala, Laxman
Kamil, Shoaib
Amarasinghe, Saman P
Shun, Julian
Date Issued
2020
Journal
CGO 2020 - Proceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization
Publisher
ACM
Version
Final published version
Abstract
© 2020 Copyright held by the owner/author(s). Many graph problems can be solved using ordered parallel graph algorithms that achieve significant speedup over their unordered counterparts by reducing redundant work. This paper introduces a new priority-based extension to GraphIt, a domain-specific language for writing graph applications, to simplify writing high-performance parallel ordered graph algorithms. The extension enables vertices to be processed in a dynamic order while hiding low-level implementation details from the user. We extend the compiler with new program analyses, transformations, and code generation to produce fast implementations of ordered parallel graph algorithms. We also introduce bucket fusion, a new performance optimization that fuses together different rounds of ordered algorithms to reduce synchronization overhead, resulting in 1.2×-3× speedup over the fastest existing ordered algorithm implementations on road networks with large diameters. With the extension, GraphIt achieves up to 3× speedup on six ordered graph algorithms over state-of-the-art frameworks and hand-optimized implementations (Julienne, Galois, and GAPBS) that support ordered algorithms.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution 4.0 International license
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/3368826.3377909