GraphIt : optimizing the performance and improving the programmability of graph algorithms
Author(s)Zhang, Yunming,Ph. D.Massachusetts Institute of Technology.
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
MetadataShow full item record
In recent years, large graphs with billions of vertices and trillions of edges have emerged in many domains, such as social network analytics, machine learning, physical simulations, and biology. However, optimizing the performance of graph applications is notoriously challenging due to irregular memory access patterns and load imbalance across cores. We need new performance optimizations to improve hardware utilization and require a programming system that allows domain experts to easily write high-performance graph applications. In this thesis, I will present our work on GraphIt, a new domain-specific language that consistently achieves high performance across different algorithms, graphs, and architectures, while offering an easy-to-use high-level programming model that supports both unordered and ordered graph algorithms. GraphIt decouples algorithms from performance optimizations (schedules) for graph applications to make it easy to explore a large space of cache, non-uniform memory access, load balance, and data layout optimizations. GraphIt achieves up to 4.8x speedup over state-of-the-art graph frameworks on CPUs, while reducing the lines of code by up to one order of magnitude.
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, September, 2020Cataloged from student-submitted PDF of thesis.Includes bibliographical references (pages 129-139).
DepartmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Massachusetts Institute of Technology
Electrical Engineering and Computer Science.