论文标题

通过朱莉娅编程语言桥接HPC社区

Bridging HPC Communities through the Julia Programming Language

论文作者

Churavy, Valentin, Godoy, William F, Bauer, Carsten, Ranocha, Hendrik, Schlottke-Lakemper, Michael, Räss, Ludovic, Blaschke, Johannes, Giordano, Mosè, Schnetter, Erik, Omlin, Samuel, Vetter, Jeffrey S., Edelman, Alan

论文摘要

朱莉娅编程语言已演变为现代替代方案,以填补科学计算和数据科学应用程序中的现有空白。朱莉娅(Julia)利用统一的,协调的单语言和生态系统范式,并在不牺牲用户生产率的情况下实现高性能的良好记录。这些方面使Julia成为现有且越来越昂贵的多体工作流程组成策略的可行替代品,其中传统的HPC语言(例如Fortran,c,c,C ++)用于模拟和更高级别的语言(例如,python,python,r,r,r,Matlab)用于数据分析和互动分析。朱莉娅在语言能力,包装生态系统和社区方面的快速增长使其成为HPC的有前途的通用语言。本文介绍了来自学术界,政府和行业的跨学科研究人员的观点,该研究人员倡导HPC软件开发范式,该范式强调开发人员的生产力,工作流携带能力和较低的入境障碍。我们认为,朱莉娅编程语言,其生态系统及其社区提供了实现该小组目标的现代和强大的功能。至关重要的是,我们认为朱莉娅可以为针对HPC设施的科学应用程序和工作流提供可行且成本较低的方法。在这项工作中,我们研究了朱莉娅(Julia)作为一种常见的端到端编程模型的当前实践和作用,以应对科学可重复性,数据驱动的AI/机器学习,共同设计和工作流程,可伸缩性和性能可移植性在异质计算,网络通信,数据管理和社区教育中的主要挑战。结果,由于越来越多的超级计算中心为Exascale时代做准备,因此目前的投资多元化以满足未来十年的需求至关重要。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源