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.
翻译:朱丽亚编程语言已演变成一种现代替代方法,以填补科学计算和数据科学应用方面的现有差距; 朱丽亚利用统一和协调的单一语言和生态系统模式,并具有在不牺牲用户生产力的情况下实现高绩效的成绩的经证明的记录; 这些方面使朱丽亚成为高性能计算(HPC)现有且成本越来越高的多种机构工作流程构成战略的可行替代方案,其中传统高绩效计算语言(如Fortran、C、C+++)用于模拟和高层次语言(如Python、R、MATLAB)用于数据分析和互动计算; 朱丽亚亚亚的语文在语言能力、一揽子生态系统和社区方面的快速增长使其成为高绩效且不牺牲用户生产力的通用语言; 本文介绍了来自学术界、政府和工业界的多学科研究人员对高绩效软件开发模式(如Fortrantive、工作流程可移动性)的看法; 我们认为朱丽亚的编程语言、生态系统及其社区提供了现代和强大的能力,使这个群体的目标得以实现。 关键而言, 朱丽亚的网络在当前的科学可持续性应用中可以使高额数据流应用成为高成本的流程,我们学习的工作流程, 的工作流程可以将高额的工作流程向高额的流程进行。