|
| 1 | +# Interdisciplinary Numerical Methods: Parallelism in Julia "Spoke" 18.S192/16.S098 |
| 2 | + |
| 3 | +This course covers the the methods available to write high performance parallel codes in Julia, including threading, GPU acceleration, and distributed programming with MPI and Dagger.jl. |
| 4 | + |
| 5 | +By the end of the course students will be able to use Julia to write write portable and performant code that scales from their laptop CPUs to GPU-enabled supercomputer clusters like NERSC Perlmutter. These skills will be illustrated with a set of applications including scientific codes like Gray-Scott, and training large scale AI applications like LLMs. |
| 6 | + |
| 7 | +## Logistics |
| 8 | + |
| 9 | +**Lectures:** Mondays, Wednesdays, and Fridays 11 AM - 12 AM in room 36-144. |
| 10 | + |
| 11 | +**Prerequisites:** 18.03, 18.06, or equivalents, and some programming experience. You should have taken the [first half-semester numerical "hub" 18.S190/16.S090](https://github.com/mitmath/numerical_hub). Familiarity with Julia is assumed. |
| 12 | + |
| 13 | +**Instructors:** A. Edelman |
| 14 | + |
| 15 | +**Teaching Assistants:** Raye Kimmerer, Eveylne Ringoot, Rabab Alomairy |
| 16 | + |
| 17 | +**Office Hours:** |
| 18 | +- Raye on Tuesdays and Thursdays 12:45PM - 1:45PM on Zoom room `rayegun`. |
| 19 | + |
| 20 | + |
| 21 | +**Lecture Recordings:** Unfortunately we are not teaching in a recorded classroom this semester. |
| 22 | + |
| 23 | +**Links:** Worth bookmarking: |
| 24 | + |
| 25 | +## Grading |
| 26 | + |
| 27 | +- 6 Homeworks: 90% |
| 28 | + |
| 29 | +- Class Participation: 10% |
| 30 | + |
| 31 | +## Homeworks at a glance |
| 32 | + |
| 33 | +| Homework | Assigned | Due | Topic | Solution | |
| 34 | +| --------------------------------------------------------------- | -------- | ------ | -------------------------------------------------- | ------------------------------------------------------------------------------------ | |
| 35 | +| [HW0](homework/HW0.pdf) | April 2 | April 7 @ 11:59PM | Logistics | |
| 36 | + |
| 37 | +## Lectures at a glance (Lectures being updated.) |
| 38 | + |
| 39 | +### Week 1 - Overview of Parallel Computing |
| 40 | +#### Homework: [Homework 0 due April 7](homework/HW0.pdf) |
| 41 | +#### Lectures: |
| 42 | +- [Lecture 1](lectures/Undergrad%20Parallel%20%20Computing_%20Lecture%201%203_31_2025.pdf) |
| 43 | +- [Lecture 2](lectures/Undergrad%20Parallel%20Lecture%202%204_2_2025.pdf) |
| 44 | + |
| 45 | +### Week 2 - Parallelism Concepts and Julia Performance |
| 46 | + |
| 47 | +### Week 3 - Multithreading and Multitasking |
| 48 | + |
| 49 | +### Week 4 - GPU Computing |
| 50 | + |
| 51 | +### Week 5 - GPU Computing |
| 52 | + |
| 53 | +### Week 6 - Distributed Computing (MPI + Dagger.jl) |
| 54 | + |
| 55 | +### Week 7 |
0 commit comments