Automatic Code Generation for High-Performance Graph Algorithms

Graph problems are common across many fields, from scientific computing to social sciences. Despite their importance and the attention received, implementing graph algorithms effectively on modern computing systems remains a challenging task that requires significant programming effort and generally...

Full description

Saved in:
Bibliographic Details
Published in:2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT) pp. 14 - 26
Main Authors: Peng, Zhen, Ashraf, Rizwan A., Guo, Luanzheng, Tian, Ruiqin, Kestor, Gokcen
Format: Conference Proceeding
Language:English
Published: IEEE 21.10.2023
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract Graph problems are common across many fields, from scientific computing to social sciences. Despite their importance and the attention received, implementing graph algorithms effectively on modern computing systems remains a challenging task that requires significant programming effort and generally results in customized implementations. Current computing and memory hierarchies are not architected for irregular computations, resulting performance that is far from the theoretical architectural peak. In this paper, we propose a compiler framework to simplify the development of graph algorihtm implementations that can achieve high performance on modern computing systems. We provide a high-level domain specific language (DSL) to represent graph algorithms through sparse linear algebra expressions and graph primitives including semiring and masking. The compiler leverages the semantics information expressed through the DSL during the optimization and code transformation passes, resulting in more efficient IR passed to the compiler backend. In particular, we introduce an Index Tree Dialect that preserves the semantic information of the graph algorithm to perform high-level, domain-specific optimizations, including workspace transformation, two-phase computation, and automatic parallelization. We demonstrate that this work outperforms state-of-the-art graph libraries LAGraph by up to 3.7 × speedup in semiring operations, 2.19 ×speedup in an important sparse computational kernel, and 9.05 × speedup in graph processing algorithms.
AbstractList Graph problems are common across many fields, from scientific computing to social sciences. Despite their importance and the attention received, implementing graph algorithms effectively on modern computing systems remains a challenging task that requires significant programming effort and generally results in customized implementations. Current computing and memory hierarchies are not architected for irregular computations, resulting performance that is far from the theoretical architectural peak. In this paper, we propose a compiler framework to simplify the development of graph algorihtm implementations that can achieve high performance on modern computing systems. We provide a high-level domain specific language (DSL) to represent graph algorithms through sparse linear algebra expressions and graph primitives including semiring and masking. The compiler leverages the semantics information expressed through the DSL during the optimization and code transformation passes, resulting in more efficient IR passed to the compiler backend. In particular, we introduce an Index Tree Dialect that preserves the semantic information of the graph algorithm to perform high-level, domain-specific optimizations, including workspace transformation, two-phase computation, and automatic parallelization. We demonstrate that this work outperforms state-of-the-art graph libraries LAGraph by up to 3.7 × speedup in semiring operations, 2.19 ×speedup in an important sparse computational kernel, and 9.05 × speedup in graph processing algorithms.
Author Peng, Zhen
Guo, Luanzheng
Tian, Ruiqin
Ashraf, Rizwan A.
Kestor, Gokcen
Author_xml – sequence: 1
  givenname: Zhen
  surname: Peng
  fullname: Peng, Zhen
  email: zhen.peng@horizon.ai
  organization: Pacific Northwest National Laboratory,Richland,Washington,USA
– sequence: 2
  givenname: Rizwan A.
  surname: Ashraf
  fullname: Ashraf, Rizwan A.
  email: rizwan.ashraf@horizon.ai
  organization: Pacific Northwest National Laboratory,Richland,Washington,USA
– sequence: 3
  givenname: Luanzheng
  surname: Guo
  fullname: Guo, Luanzheng
  email: lenny.guo@horizon.ai
  organization: Pacific Northwest National Laboratory,Richland,Washington,USA
– sequence: 4
  givenname: Ruiqin
  surname: Tian
  fullname: Tian, Ruiqin
  email: gokcen.kestor@horizon.ai
  organization: Horizon Robotics,Shanghai,China
– sequence: 5
  givenname: Gokcen
  surname: Kestor
  fullname: Kestor, Gokcen
  email: ruiqin.tian@horizon.ai
  organization: Pacific Northwest National Laboratory,Richland,Washington,USA
BookMark eNotjMtqwzAURFVooG3iP8jCP2D36mVJq2JMmwQCzSJdB8m-jgWxFGR30b-voWUWc4YD80IeQwxIyJZCSSmY11PdnKWmVJUMGC8BgMIDyYwymkvggknBn0g2Td6BVIorZvgzeau_5zja2bd5EzvMdxgwLTOGvI8p3_vrUJwwLTza0C4-2fuQ17drTH4exmlDVr29TZj995p8fbyfm31x_NwdmvpYWKarudCWWQqq1445qdBBV_WCg9HOWCWcElo6LalzbSeEQaAaGEplWiY6XMLXZPv36xHxck9-tOnnQoFXQlaS_wLWBkp6
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/PACT58117.2023.00010
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
EISBN 9798350342543
EndPage 26
ExternalDocumentID 10364565
Genre orig-research
GroupedDBID 6IE
6IL
ACM
ALMA_UNASSIGNED_HOLDINGS
APO
CBEJK
LHSKQ
RIE
RIL
ID FETCH-LOGICAL-a286t-8a2a107f8b2b57eb0d6f43098b9a74b7485b851bbcd449e01802e579c24deded3
IEDL.DBID RIE
ISICitedReferencesCount 3
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001165646800002&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 02:24:17 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a286t-8a2a107f8b2b57eb0d6f43098b9a74b7485b851bbcd449e01802e579c24deded3
PageCount 13
ParticipantIDs ieee_primary_10364565
PublicationCentury 2000
PublicationDate 2023-Oct.-21
PublicationDateYYYYMMDD 2023-10-21
PublicationDate_xml – month: 10
  year: 2023
  text: 2023-Oct.-21
  day: 21
PublicationDecade 2020
PublicationTitle 2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT)
PublicationTitleAbbrev PACT
PublicationYear 2023
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssib057737293
Score 2.2563534
Snippet Graph problems are common across many fields, from scientific computing to social sciences. Despite their importance and the attention received, implementing...
SourceID ieee
SourceType Publisher
StartPage 14
SubjectTerms breadth-first search
code generation
Codes
compiler
DSL
graph algorithms
Linear algebra
masking
optimization
Programming
Scientific computing
Semantics
semiring
Social sciences
sparse linear algebra
triangle counting
Title Automatic Code Generation for High-Performance Graph Algorithms
URI https://ieeexplore.ieee.org/document/10364565
WOSCitedRecordID wos001165646800002&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T0IxFG6EODipEeM7HVyLlz5u28kQIjqRO2DCRvo4KIlyDV78_fYUEBcH06Xp0vT0cU7b830fIbcxxOQkgmTKuZJJ5QRzlpfMuNTovMB1lMUm9GhkJhNbbcDqGQsDADn5DLpYzX_5sQ4rfCpLOxw_zUrVIi2tyzVYa7t4lEbBFSs28LheYe-q_mCsEEjZRY1wZCpEnOwvEZXsQ4aH_-z9iHR2aDxa_fiZY7IHixNy3181daZbpYM6Al3TR6OVaQpDKaZvsGoHCqCPSExN-28v9XLevL5_dsjz8GE8eGIbMQTmuCmbZDzu0lVtZjz3SoMvYjmTorDGW6el19Ion6In70OU0gLycnFQ2gYuI6QiTkl7US_gjNCiF40PwnOjQFqRgrBYeIk89zz6wthz0sHRTz_WfBfT7cAv_mi_JAdoYDzRee-KtJvlCq7Jfvhq5p_LmzxL315hkk4
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LTwIxEG4UTfSkRoxve_BaLH3stidDiIgRyR4w4Ub6Qk2UNbD4--0UEC8eTC9NL02nj5m2830fQtfe-egknCDSmIwIaTgxmmVEmdhoLId1lMQm8n5fDYe6WILVExYmhJCSz0IDqukv35duDk9lcYfDp1kmN9GWFILRBVxrtXxkDpIrmi8Bck2qb4pWeyABStkAlXDgKgSk7C8ZleRFOnv_7H8f1dd4PFz8eJoDtBEmh-i2Na_KRLiK26UPeEEgDXbGMRDFkMBBijUsAN8DNTVuvb-U07fq9WNWR8-du0G7S5ZyCMQwlVXRfMzEy9pYWWZlHiz12VhwqpXVJhc2F0raGD9Z67wQOgAzFwsy144JH2LhR6g2KSfhGGHa9Mo6bpmSQWgewzBPrQCme-YtVfoE1WH0o88F48VoNfDTP9qv0E538NQb9R76j2doF4wN5ztrnqNaNZ2HC7Ttvqq32fQyzdg3Ll2VlQ
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2023+32nd+International+Conference+on+Parallel+Architectures+and+Compilation+Techniques+%28PACT%29&rft.atitle=Automatic+Code+Generation+for+High-Performance+Graph+Algorithms&rft.au=Peng%2C+Zhen&rft.au=Ashraf%2C+Rizwan+A.&rft.au=Guo%2C+Luanzheng&rft.au=Tian%2C+Ruiqin&rft.date=2023-10-21&rft.pub=IEEE&rft.spage=14&rft.epage=26&rft_id=info:doi/10.1109%2FPACT58117.2023.00010&rft.externalDocID=10364565