When you're stuck, or curious
The lessons teach each idea once. These pages are for the second pass: reviewing before a lab, finding out why a test fails, looking up a word, or going further than the course does.
Stuck on a test or the lab
- Debugging your compilerRead a failure, shrink it, compare with the oracle, and the usual suspects each week
- 1Week 1 test guideEvery test: what it checks, and the bugs known to fail it
- 2Week 2 test guideMemory, ordering, bounds, and the render grader
- 3Week 3 test guideLoops, load placement, matmul and conv
- 4Week 4 test guideVectors, reduce, rangeify, size limits
- 5Week 5 test guideMovement ops at any rank
Reviewing a week
Each study guide has a one-page recap, a cheat sheet, the mistakes people make most, a step-by-step walk through the lab, and a self-check. The quiz review puts a week's quizzes on one page, or only the ones you missed.
- 0Week 0 study guideC, memory, IRs, tensors, matmul, OCaml
- 1Week 1 study guideUOps, interpreting, rewrites, symbolic, call and param
- 2Week 2 study guideBuffers, versions, bounds, rendering C, the runtime
- 3Week 3 study guideRanges, memory in loops, matmul and conv by hand
- 4Week 4 study guideVectors, reduce, rangeify, materialization
- 5Week 5 study guideMovement ops and rangeifying them
- Quiz reviewAll of a week's quizzes, or only the ones you missed
Looking something up
Going deeper
Each study guide ends with readings (the tinygrad source the course follows, papers, and books) and challenge problems past what the tests require.