Valentin Churavy presents his work at the 5th conference for Research Software Engineering in Germany (deRSE25)
Valentin Churavy will present some of his work at the 5th conference for Research Software Engineering in Germany (deRSE25) in Karlsruhe.
Valentin Churavy’s talk
Automatic Differentiation in Julia with Enzyme
Automatic Differentiation (AD) is an important technique for both scientific computing and machine learning. AD frameworks from the machine learning world often lack the ability to differentiate programming patterns common in scientific computing, such as mutation and parallelism.
In my talk, I will cover the AD framework in Enzyme and how it can be used to differentiate scientific codes in Julia. While my talk will focus on Julia, Enzyme is LLVM-based and can also be used to differentiate C/C++/Fortran.
I will show how one can use Enzyme to differentiate scientific codes in Julia, how to extract Jacobians through directional derivatives and use it to formulate matrix-free methods.
His workshop together with Mosè Giordano
Performance portability and high-performance computing with Julia
Julia is a friendly, fast and flexible programming language for scientific (and beyond) computing. In this tutorial, we will introduce Julia for high-performance computing with a focus on performance portability.
Using various examples, we will show how to write parallel programs for GPUs, shared-memory and distributed parallelism. We will use both a high-level array-based programming and a low-level kernel-based programming style. Our goal is to highlight the productivity of Julia, while also providing tools for experts to maximize performance.
As a highlight, the tutorial will include a live demonstration of Julia running on Graphcore IPU processor.