18S096 icon indicating copy to clipboard operation
18S096 copied to clipboard

18.S096 three-week course at MIT

18.S096, IAP 2018: Performance Computing in a High Level Language

This is the repository for course materials of the class 18.S096 at MIT in 2018, including problem sets and lecture materials. Lectures by Steven G. Johnson (SGJ), Alan Edelman (AE), and others.

  • Lecture 1: course overview, performance variation, boxes and registers

  • Lecture 2: code specialization, array concepts

    • also pset 1, due next Monday night.
  • Lab 1: Julia basics.

  • Lecture 3: type stability

  • Lecture 4: vectorization (see the "More Dots" blog post and the vectorization notebook); memory and locality (see slides and notebook)

  • Lecture 5: parallelism notebook (Valentin Churavy)

  • Lab 2: in-place transposition exercise

    • also pset 2, due next Wednesday.
  • Lecture 6: types and dispatch (Jeff Bezanson)

  • Lecture 7: metaprogramming (Jeff Bezanson)

  • Lecture 8: Automatic Differentiation

  • Lecture 9: Choice of Labs

  • Lecture 10: Parallel Prefix

These materials are free/open-source under the MIT/expat license.