Bridging HPC Communities through the Julia Programming Language
V. Churavy, W.F. Godoy, C. Bauer, H. Ranocha, M. Schlottke-Lakemper, L. Räss, J. Blaschke, M. Giordano, E. Schnetter, S. Omlin, J.S. Vetter, A. Edelman, (2022).
Download (ext.)
Preprint
| English
Author
Churavy, Valentin;
Godoy, William F;
Bauer, CarstenLibreCat;
Ranocha, Hendrik;
Schlottke-Lakemper, Michael;
Räss, Ludovic;
Blaschke, Johannes;
Giordano, Mosè;
Schnetter, Erik;
Omlin, Samuel;
Vetter, Jeffrey S;
Edelman, Alan
All
All
Abstract
The Julia programming language has evolved into a modern alternative to fill existing gaps in scientific computing and data science applications. Julia leverages a unified and coordinated single-language and ecosystem paradigm and has a proven track record of achieving high performance without sacrificing user productivity. These aspects make Julia a viable alternative to high-performance computing's (HPC's) existing and increasingly costly many-body workflow composition strategy in which traditional HPC languages (e.g., Fortran, C, C++) are used for simulations, and higher-level languages (e.g., Python, R, MATLAB) are used for data analysis and interactive computing. Julia's rapid growth in language capabilities, package ecosystem, and community make it a promising universal language for HPC. This paper presents the views of a multidisciplinary group of researchers from academia, government, and industry that advocate for an HPC software development paradigm that emphasizes developer productivity, workflow portability, and low barriers for entry. We believe that the Julia programming language, its ecosystem, and its community provide modern and powerful capabilities that enable this group's objectives. Crucially, we believe that Julia can provide a feasible and less costly approach to programming scientific applications and workflows that target HPC facilities. In this work, we examine the current practice and role of Julia as a common, end-to-end programming model to address major challenges in scientific reproducibility, data-driven AI/machine learning, co-design and workflows, scalability and performance portability in heterogeneous computing, network communication, data management, and community education. As a result, the diversification of current investments to fulfill the needs of the upcoming decade is crucial as more supercomputing centers prepare for the exascale era.
Publishing Year
LibreCat-ID
Cite this
Churavy V, Godoy WF, Bauer C, et al. Bridging HPC Communities through the Julia Programming Language. Published online 2022.
Churavy, V., Godoy, W. F., Bauer, C., Ranocha, H., Schlottke-Lakemper, M., Räss, L., Blaschke, J., Giordano, M., Schnetter, E., Omlin, S., Vetter, J. S., & Edelman, A. (2022). Bridging HPC Communities through the Julia Programming Language.
@article{Churavy_Godoy_Bauer_Ranocha_Schlottke-Lakemper_Räss_Blaschke_Giordano_Schnetter_Omlin_et al._2022, title={Bridging HPC Communities through the Julia Programming Language}, author={Churavy, Valentin and Godoy, William F and Bauer, Carsten and Ranocha, Hendrik and Schlottke-Lakemper, Michael and Räss, Ludovic and Blaschke, Johannes and Giordano, Mosè and Schnetter, Erik and Omlin, Samuel and et al.}, year={2022} }
Churavy, Valentin, William F Godoy, Carsten Bauer, Hendrik Ranocha, Michael Schlottke-Lakemper, Ludovic Räss, Johannes Blaschke, et al. “Bridging HPC Communities through the Julia Programming Language,” 2022.
V. Churavy et al., “Bridging HPC Communities through the Julia Programming Language.” 2022.
Churavy, Valentin, et al. Bridging HPC Communities through the Julia Programming Language. 2022.
All files available under the following license(s):
Copyright Statement:
This Item is protected by copyright and/or related rights. [...]
Link(s) to Main File(s)
Access Level
Closed Access