https://github.com/mitmath/18s096
18.S096 three-week course at MIT
https://github.com/mitmath/18s096
Last synced: 12 months ago
JSON representation
18.S096 three-week course at MIT
- Host: GitHub
- URL: https://github.com/mitmath/18s096
- Owner: mitmath
- License: mit
- Created: 2017-01-05T20:30:43.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-03-25T06:33:58.000Z (almost 3 years ago)
- Last Synced: 2025-03-31T06:06:40.453Z (12 months ago)
- Language: Jupyter Notebook
- Homepage:
- Size: 17 MB
- Stars: 260
- Watchers: 28
- Forks: 52
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 18.S096, IAP 2018: Performance Computing in a High Level Language
* See also [18.S096 in IAP 2017](https://github.com/stevengj/18S096/tree/iap2017).
This is the repository for course materials of the class [18.S096 at MIT in 2018](http://math.mit.edu/academics/iap.php), including problem sets and lecture materials. Lectures by Steven G. Johnson (SGJ), Alan Edelman (AE), and others.
* Lecture 1: [course overview](lectures/lecture1/Course-overview.pdf), [performance variation](lectures/lecture1/Performance-variation.ipynb), [boxes and registers](lectures/lecture1/Boxes-and-registers.ipynb)
- See also [this video lecture for 6.172 at MIT](https://www.youtube.com/watch?v=6JcMuFgnA6U), which covered the notebooks of lectures 1 and 2.
* Lecture 2: [code specialization](lectures/lecture2/Code-specialization.ipynb), [array concepts](lectures/lecture2/Getting%20started,%20working%20with%20matrices.ipynb)
- also [pset 1](psets/pset1.ipynb), due next Monday night.
* Lab 1: Julia basics.
* Lecture 3: [type stability](lectures/lecture3/Type-stability.ipynb)
* Lecture 4: vectorization (see the ["More Dots" blog post](https://julialang.org/blog/2017/01/moredots) and the [vectorization notebook](lectures/lecture4/Vectorization.ipynb)); memory and locality (see [slides](lectures/lecture4/memory.pdf) and [notebook](lectures/lecture4/memory-matrices.ipynb))
* Lecture 5: [parallelism notebook](lectures/lecture5/Parallelism.ipynb) (Valentin Churavy)
* Lab 2: [in-place transposition exercise](lectures/other/Transposition.ipynb)
- also [pset 2](psets/pset2.ipynb), due next Wednesday.
* Lecture 6: [types and dispatch](lectures/lecture6/Types%20and%20Dispatch.ipynb) (Jeff Bezanson)
* Lecture 7: [metaprogramming](lectures/lecture7/Metaprogramming.ipynb) (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](LICENSE.md).