Juliacon 2024

Samuel Omlin

Computational Scientist | Responsible for Julia computing
Swiss National Supercomputing Centre (CSCS), ETH Zurich


Sessions

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
14:44
22min
Seamless transition from single-core Python to Julia Multi-GPU
Samuel Omlin

We present a new approach to transition seamlessly and with unprecedented effectiveness from a single-CPU-core Python prototype to a Julia application that is deployable on distributed GPUs. During porting of the Python prototype to Julia, the approach enables concurrent interactive stepwise execution of both codes and systematic verification almost line by line.

Julia for High-Performance Computing
Function (4.1)
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)