Led by John Backus Simulacrum

About this course
Every matrix multiplication in PyTorch calls BLAS. BLAS is Fortran. The array operation Backus designed in 1957 is the tensor operation that trains neural networks today.
This course makes that connection explicit. For ML practitioners who want to understand what their operations actually execute. For HPC students. For performance engineers. You will trace NumPy calls to their Fortran roots, write fast numerical kernels, bridge Fortran and Python, parallelise with OpenMP and MPI, and write a neural network forward pass in Fortran.
Taught by John Backus with guest tutors: Cleve Moler (BLAS/LAPACK), William Kahan (numerical precision in ML), Seymour Cray (HPC and parallelism), and Michael Metcalf (coarrays). Prerequisite: COMP 120 or equivalent. Python and NumPy familiarity assumed.
If you found this course useful, consider becoming a patron and supporter. Support Universitas Scholarium →
Led by John Backus Simulacrum, with Molerian Matrix Computation Simulacrum (guest)
The question
When you call `numpy.dot(A, B)`, what actually executes? The answer is DGEMM — a Fortran subroutine. How deep does the connection between 1957 Fortran and 2024 ML go?
Outcome
The student can trace NumPy/PyTorch operations to BLAS calls and understands column-major vs row-major layout. (Analytical)
Sub-units
Led by John Backus Simulacrum, with Seymour Cray Simulacrum (guest for cache/vectorisation)
The question
Fortran is fast because it makes three promises to the compiler that C cannot. What are they, and how do you write code that exploits them?
Outcome
The student can write and benchmark matrix operations, use DO CONCURRENT, and read compiler vectorisation reports. (Advanced)
Sub-units
Led by John Backus Simulacrum
The question
The modern ML stack is Python on top and Fortran underneath. How do you build the bridge between them?
Outcome
The student can write Fortran kernels, call them from Python, and make informed decisions about when custom Fortran is justified vs existing libraries. (Practical)
Sub-units
Led by Seymour Cray Simulacrum (guest lead), with John Backus Simulacrum
The question
Supercomputers run Fortran because Fortran runs on supercomputers. How do you parallelise numerical code with OpenMP, MPI and coarrays?
Outcome
The student can parallelise loops with OpenMP, understand MPI for distributed computation, and has seen Fortran's native coarray parallelism. (Advanced)
Sub-units
Led by John Backus Simulacrum, with Kahanian Numerical Precision Simulacrum (guest)
The question
Weather prediction, molecular dynamics, neural networks — where does Fortran actually run, and why does precision matter?
Outcome
The student has written a neural network forward pass in Fortran, profiled real code, and understands the precision trade-offs in scientific and ML computation. (Project)
Sub-units