Graph for Science: From API based Programming to Graph Engine based Programming for HPC

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Zhang, Yu, Wang, Zixiao, Zhao, Jin, Guo, Yuluo, Yu, Hui, Huang, Zhiying, Shi, Xuanhua, Liao, Xiaofei
Formato: Preprint
Publicado: 2023
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866916188275081216
author Zhang, Yu
Wang, Zixiao
Zhao, Jin
Guo, Yuluo
Yu, Hui
Huang, Zhiying
Shi, Xuanhua
Liao, Xiaofei
author_facet Zhang, Yu
Wang, Zixiao
Zhao, Jin
Guo, Yuluo
Yu, Hui
Huang, Zhiying
Shi, Xuanhua
Liao, Xiaofei
contents Modern scientific applications predominantly run on large-scale computing platforms, necessitating collaboration between scientific domain experts and high-performance computing (HPC) experts. While domain experts are often skilled in customizing domain-specific scientific computing routines, which often involves various matrix computations, HPC experts are essential for achieving efficient execution of these computations on large-scale platforms. This process often involves utilizing complex parallel computing libraries tailored to specific matrix computation scenarios. However, the intricate programming procedure and the need for deep understanding in both application domains and HPC poses significant challenges to the widespread adoption of scientific computing. In this research, we observe that matrix computations can be transformed into equivalent graph representations, and that by utilizing graph processing engines, HPC experts can be freed from the burden of implementing efficient scientific computations. Based on this observation, we introduce a graph engine-based scientific computing (Graph for Science) paradigm, which provides a unified graph programming interface, enabling domain experts to promptly implement various types of matrix computations. The proposed paradigm leverages the underlying graph processing engine to achieve efficient execution, eliminating the needs for HPC expertise in programming large-scale scientific applications. Our results show that the graph engine-based scientific computing paradigm achieves performance comparable to the best-performing implementations based on existing parallel computing libraries and bespoke implementations. Importantly, the paradigm greatly simplifies the development of scientific computations on large-scale platforms, reducing the programming difficulty for scientists and facilitating broader adoption of scientific computing.
format Preprint
id arxiv_https___arxiv_org_abs_2312_04900
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Graph for Science: From API based Programming to Graph Engine based Programming for HPC
Zhang, Yu
Wang, Zixiao
Zhao, Jin
Guo, Yuluo
Yu, Hui
Huang, Zhiying
Shi, Xuanhua
Liao, Xiaofei
Distributed, Parallel, and Cluster Computing
Modern scientific applications predominantly run on large-scale computing platforms, necessitating collaboration between scientific domain experts and high-performance computing (HPC) experts. While domain experts are often skilled in customizing domain-specific scientific computing routines, which often involves various matrix computations, HPC experts are essential for achieving efficient execution of these computations on large-scale platforms. This process often involves utilizing complex parallel computing libraries tailored to specific matrix computation scenarios. However, the intricate programming procedure and the need for deep understanding in both application domains and HPC poses significant challenges to the widespread adoption of scientific computing. In this research, we observe that matrix computations can be transformed into equivalent graph representations, and that by utilizing graph processing engines, HPC experts can be freed from the burden of implementing efficient scientific computations. Based on this observation, we introduce a graph engine-based scientific computing (Graph for Science) paradigm, which provides a unified graph programming interface, enabling domain experts to promptly implement various types of matrix computations. The proposed paradigm leverages the underlying graph processing engine to achieve efficient execution, eliminating the needs for HPC expertise in programming large-scale scientific applications. Our results show that the graph engine-based scientific computing paradigm achieves performance comparable to the best-performing implementations based on existing parallel computing libraries and bespoke implementations. Importantly, the paradigm greatly simplifies the development of scientific computations on large-scale platforms, reducing the programming difficulty for scientists and facilitating broader adoption of scientific computing.
title Graph for Science: From API based Programming to Graph Engine based Programming for HPC
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2312.04900