Solving PDEs in parallel on GPUs with Julia

🎉 Welcome to ETH's course 101-0250-00L on solving partial differential equations (PDEs) in parallel on graphical processing units (GPUs) with the Julia programming language. This course is the first part of a two-part series, focusing on the fundamentals of GPU programming and parallel numerical methods. The second part, offered in the spring semester next year, is project-based: participants will design and implement their own GPU-accelerated applications.

💡 Note
2025 edition starts Tuesday Sept. 16, 12h45

Course information

This course introduces state-of-the-art methods in modern parallel GPU computing, supercomputing, and scientific software development, with applications in the natural sciences and engineering. All course materials are open source and available on GitHub. As part of the course, you will learn how to model physical processes such as thermal convection in porous media, as illustrated below with an example simulation:

Objective

The goal of this course is to offer a practical approach to solve systems of partial differential equations in parallel on GPUs using the Julia programming language. Julia combines high-level language expressiveness and low-level language performance which enables efficient code development. The Julia GPU applications will be hosted on GitHub and implement modern software development practices.

Outline

Teaching staff