2026-08-10 –, Room 2
Julia offers the best of both worlds: high-level expressiveness combined with low-level performance, allowing developers to leverage modern hardware accelerators without needing expertise in hardware-specific languages. This workshop demonstrates how Julia makes high-performance computing (HPC) accessible by covering topics such as distributed GPU computing, GPU code optimization, and scalable workflows.
Why this workshop
Why wait hours for computations when they could take seconds? Why struggle with rewriting high-level prototypes in lower-level languages just to achieve performance? Traditionally, writing fast code for HPC systems requires mastering hardware-specific languages, leading to complex, expensive, and difficult-to-maintain software.
Julia removes this barrier by providing a seamless, high-performance environment and package ecosystem where domain experts can easily integrate and reuse optimized code, making HPC more approachable and efficient. Participants will gain hands-on experience running Julia code on a GPU-powered supercomputer.
This workshop will introduce
- Good paractices in GPU programming
- GPU programming using KernelAbstractions.jl and ParallelStencil.jl
- Multi-GPU parallelization using MPI.jl and ImplicitGlobalGrid.jl
- Multi-GPU computing using Chmy v0.2, a DSL for finite-difference discretisations and automatic kernel fusion
- GPU computing with AI technology using Reactant.jl
- Solving PDEs inn parallel on CPUs using PETSc.jl
- Real-time visualization of multi-process simulations
Hands-On Learning Experience
The workshop is designed for both HPC users and newcomers curious about accelerating computations. It consists of two parts, featuring:
- Fundamentals: learn core Julia tools for parallel computing through simple, illustrative examples.
- Application: develop a parallelized version of a serial code and run it on a GPU-accelerated supercomputer.
Who Should Attend?
This workshop is for researchers, engineers, and developers looking to accelerate scientific computing, machine learning, and other computational tasks. Whether you're already using HPC systems or just getting started, this session will equip you with the knowledge and tools to write high-performance and scalable Julia applications.
Prerequisites
Participants should have a basic understanding of Julia (functions, modules, control flow, and arrays) and familiarity with standard development tools like Git, SSH, and the Bash command line. No prior experience with distributed computing, or GPU programming is required.
We look forward to an engaging, inclusive, and knowledge-rich event!
This workshop will offer the possibility to access one-time HPC resources on-the-fly.
Computational geoscientists with Earth science background. Julia GPU and HPC enthusiast.
Collin Wittenstein is an incoming PhD student at MIT's Julia Lab. He is completing dual master's degrees in Physics and Computational Sciences, supervised by Hendrik Ranocha, at Johannes Gutenberg University Mainz, Germany, where he previously earned bachelor's degrees in Physics and Mathematics. His research focuses on high-performance numerical methods for PDEs, with applications ranging from dispersive water waves to geothermal energy systems. He is an active contributor to the general Julia open-source ecosystem, and is the author of GeothermalWells.jl and a co-author of DispersiveShallowWater.jl.
Website: cwittens.github.io
Professor of Geodynamics and Geophysics at the Johannes Gutenberg University Mainz (Germany). Interested in using computational models to understand geoscientific processes such as the formation of fault zones, mountain belts, magmatic processes, volcanic eruptions as well as using computational models to estimate the long-term stability of geological reservoirs.