Compiling Graph Applications for GPUs with GraphIt

被引:11
作者
Brahmakshatriya, Ajay [1 ]
Zhang, Yunming [1 ]
Hong, Changwan [1 ]
Kamil, Shoaib [2 ]
Shun, Julian [1 ]
Amarasinghe, Saman [1 ]
机构
[1] MIT, CSAIL, Cambridge, MA 02139 USA
[2] Adobe Res, San Jose, CA USA
来源
CGO '21: PROCEEDINGS OF THE 2021 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO) | 2021年
关键词
Compiler Optimizations; Graph Processing; GPUs; Domain-Specific Languages; ALGORITHMS; ANALYTICS;
D O I
10.1109/CGO51591.2021.9370321
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The performance of graph programs depends highly on the algorithm, the size and structure of the input graphs, as well as the features of the underlying hardware. No single set of optimizations or one hardware platform works well across all settings. To achieve high performance, the programmer must carefully select which set of optimizations and hardware platforms to use. The GraphIt programming language makes it easy for the programmer to write the algorithm once and optimize it for different inputs using a scheduling language. However, GraphIt currently has no support for generating high-performance code for GPUs. Programmers must resort to re-implementing the entire algorithm from scratch in a low-level language with an entirely different set of abstractions and optimizations in order to achieve high performance on GPUs. We propose G2, an extension to the GraphIt compiler framework, that achieves high performance on both CPUs and GPUs using the same algorithm specification. G2 significantly expands the optimization space of GPU graph processing frameworks with a novel GPU scheduling language and compiler that enables combining load balancing, edge traversal direction, active vertexset creation, active vertexset processing ordering, and kernel fusion optimizations. G2 also introduces two performance optimizations, Edge-based Thread Warps CTAs load balancing (ETWC) and EdgeBlocking, to expand the optimization space for GPUs. ETWC improves load balancing by dynamically partitioning the edges of each vertex into blocks that are assigned to threads, warps, and CTAs for execution. EdgeBlocking improves the locality of the program by reordering the edges and restricting random memory accesses to fit within the L2 cache. We evaluate G2 on 5 algorithms and 9 input graphs on both Pascal and Volta generation NVIDIA GPUs, and show that it achieves up to 5.11x speedup over state-of-the-art GPU graph processing frameworks, and is the fastest on 66 out of the 90 experiments.
引用
收藏
页码:248 / 261
页数:14
相关论文
共 50 条
  • [41] Accelerating Graph Applications Using Phased Transactional Memory
    Morales, Catalina Munoz
    Murari, Rafael
    de Carvalho, Joao P. L.
    Honorio, Bruno Chinelato
    Baldassin, Alexandro
    Araujo, Guido
    EURO-PAR 2021: PARALLEL PROCESSING, 2021, 12820 : 421 - 434
  • [42] Some recent progress and applications in graph minor theory
    Kawarabayashi, Ken-ichi
    Mohar, Bojan
    GRAPHS AND COMBINATORICS, 2007, 23 (01) : 1 - 46
  • [43] A SURVEY OF GRAPH COLORING - ITS TYPES, METHODS AND APPLICATIONS
    Formanowicz, Piotr
    Tanas, Krzysztof
    FOUNDATIONS OF COMPUTING AND DECISION SCIENCES, 2012, 37 (03) : 223 - 238
  • [44] Efficient Planar Graph Cuts with Applications in Computer Vision
    Schmidt, Frank R.
    Toeppe, Eno
    Cremers, Daniel
    CVPR: 2009 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, VOLS 1-4, 2009, : 351 - 356
  • [45] Using GPUs in Real-Time Applications- A Review of Techniques for Analyzing and Optimizing the Timing Parameters
    Gomez, Iosu
    de Cerio, Unai Diaz
    Parra, Jorge
    Rivas, Juan M.
    Gutierrez, J. Javier
    REVISTA IBEROAMERICANA DE AUTOMATICA E INFORMATICA INDUSTRIAL, 2024, 21 (01): : 1 - 16
  • [46] APPLICATIONS OF GRAPH THEORY IN JOB SCHEDULING AND POSTMAN'S PROBLEM
    Harinarayanan, C. V. R.
    Lakshmi, S.
    ADVANCES AND APPLICATIONS IN MATHEMATICAL SCIENCES, 2019, 18 (10): : 1261 - 1267
  • [47] Graph Bipartization Problem with Applications to Via Minimization in VLSI Design
    Lin, Lan
    Lin, Yixun
    INTERNATIONAL JOURNAL OF FOUNDATIONS OF COMPUTER SCIENCE, 2023, 34 (04) : 347 - 361
  • [48] Analysis of Graph Processing in Reconfigurable Devices for Edge Computing Applications
    Olgu, Kaan
    Nikov, Kris
    Nunez-Yanez, Jose
    2022 25TH EUROMICRO CONFERENCE ON DIGITAL SYSTEM DESIGN (DSD), 2022, : 16 - 23
  • [49] Generation of maximal fuzzy cliques of fuzzy permutation graph and applications
    Raut, Sreenanda
    Pal, Madhumangal
    ARTIFICIAL INTELLIGENCE REVIEW, 2020, 53 (03) : 1585 - 1614
  • [50] Layered separators in minor-closed graph classes with applications
    Dujmovic, Vida
    Morin, Pat
    Wood, David R.
    JOURNAL OF COMBINATORIAL THEORY SERIES B, 2017, 127 : 111 - 147