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...
Saved in:
| Published in: | 2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT) pp. 14 - 26 |
|---|---|
| Main Authors: | , , , , |
| 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 Xplore POP ALL 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 Xplore 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.2562542 |
| 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/eLvHCXMwlV07TwMxDI5oxcAEiCLeysCaco_kEk-oqigMqLqhSN2qS-JCJeih9srvJ05bysKAskQZEtl52En8fWbs1kltJJgqLF5AIV1iRJUbFME2gVWpr7Iqsus_6-HQjMdQbsDqEQuDiDH4DLtUjX_5vnYreioLO5w-zQrVYi2tizVYa7t4lKaEK5Bv4HFpAndlrz9SBKTsUo5wYioknOyvJCrRhgwO_zn6Eevs0Hi8_LEzx2wP5yfsvrdq6ki3yvu1R76mjyYt8-CGcgrfEOUOFMAfiZia995f68WseftYdtjL4GHUfxKbZAiiykzRCBO0Fq5qU2MzqzTaxBdTmSdgLFRaWi2NssF7stZ5KQGJlytDpcFl0mMo-Slrz-s5njHuEvDBYOXaFzZ0Qfwv0gOgSxGVSeCcdUj6yeea72KyFfzij_ZLdkAKphM9S69Yu1ms8Jrtu69mtlzcxFn6BuWNkis |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LTwIxEG4UTfSkRoxve_C62O222_ZkCBExItkDJtzIth2UBFkDi7_fzgLixYPppemhzUwfM23n-4aQWyeUFkbnYfEaiIRjOsoTDVGwTcbK2Oc8r9j1u6rX04OByVZg9QoLAwBV8Bk0sFr95fvCLfCpLOxw_DRL5TbZkUJwtoRrrZePVJhyxSQrgFzMzF3WbPUlQikbmCUcuQoRKfsrjUplRdoH_xz_kNQ3eDya_ViaI7IF02Ny31yURUW4SluFB7okkEY90-CIUgzgiLINLIA-IjU1bU7eitm4fP-Y18lr-6Hf6kSrdAhRznVaRjroLVzWRtpyKxVY5tORSJjR1uRKWCW0tMF_stZ5IQwgMxcHqYzjwkMoyQmpTYspnBLqmPHBZCXKpzZ0gQwwwhsDLgaQmpkzUkfph59LxovhWvDzP9pvyF6n_9Iddp96zxdkH5WN5zuPL0mtnC3giuy6r3I8n11XM_YNs3OVcg |
| 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 |