Authors: Johannes Blaschke (Lawrence Berkeley National Laboratory (LBNL), National Energy Research Scientific Computing Center (NERSC)), William Godoy (Oak Ridge National Laboratory (ORNL)), Sherri Li (Lawrence Berkeley National Laboratory), Pedro Valero Lara (Oak Ridge National Laboratory), Anton Smirnov (Advanced Micro Devices (AMD) Inc), Caira Anderson (Cornell University)
Abstract: The “Julia for HPC” birds-of-a-feather (BoF) session provides a place for the high-performance computing (HPC) community with interests in the Julia programming language. Julia proposes an integrated development end-to-end co-design model as a LLVM front-end for science to close the gap between high-productivity languages and the desired performance of traditional compiled languages on extreme heterogeneous systems.
We invite participants from academia, government, and industry to share and discuss their experiences, identify and learn about current opportunities and gaps. Potential topics include: community, adoption and support in leadership facilities, the Julia ecosystem, programming models and packages targeting HPC workflows.
Long Description: The open-source Julia programming language has seen a rapid increase in adoption in scientific computing areas. Julia builds upon the large success of Fortran as an abstraction for numerical computing and large-scale simulations, while providing high-level abstractions for data analysis. Requirements in HPC workflows for scientific discovery encompass several aspects such as: performance portability on heterogeneous systems; end-to-end co-design including a suite of powerful performance tuning tools; and large-scale data management and storage. Julia uses a unified approach to close the gap to obtain the desired performance in C, C++, Fortran using MPI+X programming models for large-scale simulations, and the high productivity of dynamic languages used for data analysis and artificial intelligence frameworks. In addition, Julia puts performance, reproducibility and powerful instrumentation at the forefront of the language design and ecosystem.
This BoF targets the broader HPC community with interests in learning more about Julia as a viable HPC language. As well as discussing recent language and ecosystem developments which are relevant to the HPC community (e.g. GPU capabilities, workflows, and caching). For the first 30 minutes we invite a series of lighting talks to discuss their experiences using Julia for HPC. These talks will cover topics such as application development, Julia HPC software stack for CPU, GPU, network and data, support at supercomputing facilities, interoperability with existing HPC frameworks, compilation via LLVM, training rapid prototyping, interactive computing, and current efforts across supercomputing centers. For the rest of the session, we will encourage the participation of the audience to trigger discussion around these and other topics of relevance to the Julia HPC community.
There is a growing and enthusiastic multinational community of Julia users and developers on HPC systems (https://juliaparallel.org/resources/); reflected by board support amongst many HPC centers (https://juliahpc.github.io/JuliaOnHPCClusters/user_hpcsystems/). A goal of this BoF is to provide a platform for networking and ideas exchange from current and potential stakeholders reaching across different communities. We believe in the success of the proposed event as similar Julia for HPC BoF experiences have been recently offered in PASC, JuliaCon, and the U.S. Exascale Computing Project. In particular, the first edition of the Julia for HPC BoF at SC22 attracted an enthusiastic crowd of approx. 70 attendees.
Website: https://github.com/JuliaParallel/julia-hpc-bof-sc23