Skip to main content Skip to navigation

High performance computing in Julia

Convenor: Jamie Mair (Nottingham)

Module available for self-study from 13/01/2025. 

Assessment deadline: 01/03/2025

Module Details

This module is designed for teaching programming to new Masters/PhD students, starting from the basics and working up to writing high performance code for any scale. This module will primarily be delivered via the Midlands Physics Alliance Graduate School (MPAGS). The module is open to anyone else who is interested in the material. All of the resources (including the lecture notes) will be available publicly. Get in touch with me via email if you would like to enrol, and receive updates about the course.

Students taking this course should match following description:

  1. Have at least some limited experience with programming in any language, e.g. Python, MATLAB, C/C++ etc.

  2. Basic mathematics skills, including elementary algebra and calculus.

  3. Willingness to learn something new!

No prior knowledge about the Julia programming language is required as this course will provide a crash course to get everyone up to speed at the start of the module. Topics learnt during this course are not based solely around Julia, but can be transferred to other languages.

This module will focus on teaching students how to write high performance code, taking advantage of modern hardware, to be able to execute code at any scale, from your own machine with multiple cores, to using a GPU, all the way to executing code across an entire High Performance Cluster. We will also focus on teaching Research Software Engineering techniques throughout the module.

See the Topics page for a detailed overview of the topics covered.

Assessment

Each week of teaching will have a corresponding assessment delivered via GitHub classroom, with automatic marking.