Juliacon 2024

Ivan Utkin


Sessions

07-09
13:30
180min
Hands-on with Julia for HPC on GPUs and CPUs
Ludovic Räss, Carsten Bauer, Ivan Utkin, Johannes Blaschke

Julia offers the flexibility of a high-productivity language while providing control, performance, and compatibility with high-performance computing (HPC) hardware. This workshop demonstrates how Julia makes modern HPC accessible. It covers resource configuration, distributed computing, code optimization for CPUs and GPUs, and versatile workflows. Participants will have the opportunity to experience it firsthand with a hands-on session on a GPU-powered supercomputer.

Accelerated & large-scale computing
TU-Eindhoven -1.350
07-10
17:00
30min
FastIce.jl: a massively parallel ice flow model running on GPUs
Ivan Utkin, Ludovic Räss, Mauro Werder, Samuel Omlin

We introduce FastIce.jl, a novel ice flow model for massively parallel architectures, written in Julia. Leveraging GPUs (Nvidia, AMD) and supporting distributed computing through MPI.jl, FastIce.jl includes a thermo-mechanically coupled Full-Stokes ice flow model. We present the performance testing of FastIce.jl in single-node and distributed scaling benchmarks on LUMI, the largest European supercomputer.

Accelerated & large-scale computing
For Loop (3.2)
07-12
15:10
10min
Subglacial water flow simulations on GPUs
Mauro Werder, Annegret Pohle, Ivan Utkin, Ludovic Räss

Modeling subglacial water flow and its link to ice dynamics is necessary for accurate predictions of ice sheet response to a warming climate. Here we present a re-implementation of the widely used GlaDS model to run on GPUs. We show-case the matrix free implementation which leverages the full capabilities of the GPU, present model runs of test cases, show the model's scalability and provide an outlook towards inversion schemes and high-resolution continental-scale applications.

Earth and climate science in Julia: Power to the user
While Loop (4.2)
07-12
15:50
10min
Sustainable Development of Stencil-based HPC Applications
Samuel Omlin, Ivan Utkin, Ludovic Räss

We present a successful approach for a sustainable development of stencil-based HPC applications in Julia. The approach includes automatic performance optimization for hardware-agnostic high-level kernels, data layout abstractions enabling memory layouts optimized per backend, and GPU-aware inter-process communication that is automatically hideable behind computation. We demonstrate on multiple examples near optimal performance and scaling on thousands of GPUs.

Accelerated & large-scale computing
Else (1.3)