arrow
返回

StarPlat: A versatile DSL for graph analytics

delete2024-12-01
delete0
delete
OA
AI
N
Nibedita Behera
A
Ashwina Kumar *
E
Ebenezer Rajadurai T
S
Sai Nitish
R
Rajesh Pandian Muniasamy
R
Rupesh Nasre
DOI:10.1016/j.jpdc.2024.104967delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
Graphs model several real-world phenomena. With the growth of unstructured and semi-structured data, parallelization of graph algorithms is inevitable. Unfortunately, due to inherent irregularity of computation, memory access, and communication, graph algorithms are traditionally challenging to parallelize. To tame this challenge, several libraries, frameworks, and domain-specific languages (DSLs) have been proposed to reduce the parallel programming burden of the users, who are often domain experts. However, existing frameworks to model graph algorithms typically target a single architecture. In this paper, we present a graph DSL, named StarPlat, that allows programmers to specify graph algorithms in a high-level format, but generates code for three different backends from the same algorithmic specification. In particular, the DSL compiler generates OpenMP for multi-core systems, MPI for distributed systems, and CUDA for many-core GPUs. Since these three are completely different parallel programming paradigms, binding them together under the same language is challenging. We share our experience with the language design. Central to our compiler is an intermediate representation which allows a common representation of the high-level program, from which individual backend code generations begin. We demonstrate the expressiveness of StarPlat by specifying four graph algorithms: betweenness centrality computation, page rank computation, single-source shortest paths, and triangle counting. Using a suite of ten large graphs, we illustrate the effectiveness of our approach by comparing the performance of the generated codes with that obtained with hand-crafted library codes. We find that the generated code is competitive to library-based codes in many cases. More importantly, we show the feasibility to generate efficient codes for different target architectures from the same algorithmic specification of graph algorithms.
Keyword:
Graph algorithms
Domain-specific language
OpenMP
MPI
CUDA
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

Journal of Parallel and Distributed Computing 封面图
Journal of Parallel and Distributed Computing
IF:
4
论文数:
3.8K
被引数:
4.8K

机构

I
indian institute of technology system (iit system)
学者数:
9.5W
论文数: 9.9W
被引数: 93
引用论文

引用论文

Julia: A Fresh Approach to Numerical Computing朱莉娅: 一种新的数值计算方法
err2017-01-01
err3.6K
errOAAI
errBezanson, Jeff; Edelman, Alan; Karpinski, Stefan; Shah, Viral B.
err分享
err收藏
Kokkos 3: Programming Model Extensions for the Exascale Era
err2022-04-01
err165
errOAAI
errTrott, Christian R.; Lebrun-Grandie, Damien; Arndt, Daniel; Ciesko, Jan; Dang, Vinh; Ellingwood, Nathan; Gayatri, Rahulkumar; Harvey, Evan; Hollman, Daisy S.; Ibanez, Dan; Liber, Nevin; Madsen, Jonathan; Miles, Jeff; Poliakoff, David; Powell, Amy; Rajamanickam, Sivasankaran; Simberg, Mikael; Sunderland, Dan; Turcksin, Bruno; Wilke, Jeremiah
err分享
err收藏
One‐trial reward learning in the snail Lymnea stagnalis
err2004-10-11
err0
PREAI
errJames Alexander; Teresa E. Audesirk; Gerald J. Audesirk
err分享
err收藏