Image

Julia for HPC and Intro to Julia for Science

Overview

The Oak Ridge Leadership Computing Facility (OLCF) in conjunction with the Oak Ridge National Laboratory Computer Science and Mathematics Division (CSMD), ORNL Neutron Sciences, and NERSC, will host a (virtual) Julia training for scientists consisting of two events:

  • June 18 Julia for HPC 1:00-4:00 pm EDT
  • June 21 Introduction to Julia for science 1:00-4:00 pm EDT

Julia proposes to fill a gap in the high-performance plus high-productivity space being a dynamic language built on top of LLVM with lightweight interoperability with C and Fortran code, and a unified ecosystem for data science and reproducibility.

The training will be presented by William Godoy and Pedro Valero-Lara (ORNL), Johannes Blaschke (LBNL) and Mose Giordano (UCL, UK).

Who should Attend:

This training is open to all who want to learn more about how to use Julia for HPC and Science. Users of OLCF, SNS, HFIR, NERSC and ALCF are encouraged to attend.

Registration will be capped at 200 people.

Session 1: Julia for HPC  

The Julia for High Performance Computing Tutorial  will be on June 18, 2024 from 1-4 PM EDT. We will introduce participants to the Julia language for high-performance computing (HPC) applications in a hands-on session covering topics relevant to a HPC audience.

Contents are divided in 3 modules:

  1. Brief introduction to Julia
  2. Developing and running a HPC mini app including simulation using Threads, CUDA.jl and AMDGPU.jl programming models, parallel I/O using ADIOS2.jl
  3. Exposure to Jupyter and Pluto.jl notebooks for interactive computingBonus: VS Code and Copilot for Julia development work.

Compute Resources for the Event

For this session of the workshop, participants will need to apply for a training project with access to Odo, the OLCF training system with similar architecture to Frontier. Instructions for joining that project are in the tab below and will also be sent to you if you select this session on the registration form. Participants who want to gain experience on NIVIDA GPUs may apply for Perlmutter as well. If you want a training account to use Perlmutter Please indicate so on the registration form.

To apply for access to OLCF’s  Odo Training cluster, use project TRN023 and follow these instructions: 

https://docs.olcf.ornl.gov/systems/odo_user_guide.html#obtaining-access-to-odo.

Note: OLCF account applications for access to Odo must be received by June 11.

Material

  1. Attendees are encouraged to install the latest Julia v1.9 release candidate https://julialang.org/downloads/#upcoming_release
  2. https://github.com/ornl-training/julia-basics
  3. GrayScott HPC miniapp: ORNL
    https://github.com/ornladios/ADIOS2-Examples/tree/master/source/julia/GrayScott.jl
  4. Gentle read:
    https://bssw.io/blog_posts/julia-s-value-proposition-for-better-scientific-software

Session 2: Introduction to Julia for Science

This 3-hour tutorial focuses on introductory aspects of the Julia language and uses examples on Jupyter Notebooks. Julia’s value proposition is to provide a productive and performant scientific programming language on top of LLVM. Users of scientific instruments who need to do computational analysis on their laptops are especially encorraged to attend this session.

Attendees will learn about:

1) language basics: installation, syntax, code organization structure, data types,

2) ecosystem: packaging, testing, CI, metaprogramming, tooling, REPL, Jupyter/Pluto notebooks,

3) parallel programming models for CPU and GPU,

4) the standard library and mathematical packages: e.g. LinearAlgebra.jl, Optim.jl, Rotations.jl,

5) data analysis: DataFrames, CSV, Plotting libraries ecosystem, and

6) FluxML for AI applications.

Code: https://github.com/ornl-training/julia-basics

Compute Resources

Access to Odo is NOT required for this event.

  1. Attendees are encouraged to install the latest Julia v1.9 release candidate https://julialang.org/downloads/#upcoming_release
  2. https://github.com/ornl-training/julia-basics

Registration 

Registration is limited to 200 people.

Joining links will be emailed to you after you register.

 

Acknowledgement

This research was funded by the U.S. Department of Energy’s Office of Advanced Scientific Computing Research (ASCR):

  • The Next-Generation Scientific Software Technologies, and the Consortium for the Advancement of Scientific Software (CASS) projects, S4PST: Stewardship for Programming Systems and Tools, and PESO: Partnering for Scientific Software Ecosystem Stewardship Opportunities
  • Bluestone ASCR X-Stack
  • National Center Computational Sciences (NCCS) at ORNL

The Fostering International Collaborations in Advanced Digital Research Initiative at University College London, UK

The Division of Scientific User Facilities, Office of Basic Energy Sciences, US Department of Energy

Date

Jun 18 2024 - Jun 21 2024

Time

Events are 1:00-4:00 on June 18 and June 21
1:00 pm - 4:00 pm
Category
QR Code

Comments are closed.