Julia

Résumé

An introduction to Julia as a tool in scientific computing

Date
5 Feb 2026 14:00 — 15:00
Lieu
16-26-209
Sorbonne Université, 4 place Jussieu
75005 Paris

In this presentation, we will take a look at the Julia programming language as a tool for scientific computing. Julia’s central promise is to combine performance comparable to that of lower-level languages like C or Fortran with the usability of higher-level languages like Python or Matlab. The goal of this talk is to introduce the language and examine this claim empirically, through a simple but representative example. After taking a shallow dive into the main language features, we will focus on the concrete problem of computing the many-body interactions in a gravitational system (the $N$-body problem). The naive algorithm is essentially a double loop over the particles, and its large arithmetic intensity ($\mathcal{O}(N^2)$ flops with $\mathcal{O}(N)$ bytes) makes it a good candidate for performance exploration and optimization. We will explore the implementation in Julia, C, and Python, and compare their performance and readability. We will then move on to optimizing the Julia code by using (i) SIMD instructions and (ii) multi-threading. Finally, we will showcase how Julia’s high-level abstractions — in particular parametric types and multiple dispatch — can be used to make the code more generic and reusable without sacrificing performance. At the end, I will share some thoughts on where I think Julia shines, and where it falls short compared to more mature languages like C++.

Note: If you want to try some of the examples live, feel free to install Julia before the talk! And for an IDE-like experience, you can also install e.g. the Julia extension for VS Code.

Luiz M. Faria
Chercheur

Sur le même sujet