In this video we introduce the concept of compilers and interpreters and explore how these differing approaches affect runtime performance. In particular, we explore the Julia compilation pipeline.
Timestamps:
00:00 Introduction
01:27 Compilers (C)
04:29 Intel Assembly
08:30 Interpreters (Python)
12:26 "Vectorised" code
13:28 JIT Compilation
14:11 Julia "Just Ahead of Time"
16:21 Julia Compilation Pipeline
25:46 Benchmark Results
25:58 ChatGPT Native Code Analysis
26:41 Benchmark Results (continued)
26:58 Outro
This module was designed as an MPAGS (Midlands Physics Alliance Graduate School) module and aimed at postgraduates and early career researchers.
Useful links:
Git/GitHub for Researchers: https://www.youtube.com/watch?v=CuOmaUS1FnM
Course Information Website: https://jamiemair.github.io/mpags-high-performance-computing/overview/
Julia Documentation: https://docs.julialang.org/en/v1/
MPAGS Registration: https://warwick.ac.uk/fac/sci/physics/mpags/registration/
Course Notes: https://jamiemair.co.uk/courses/hpc