45 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
bf733c5781 Merge dev into fmt-fix 2026-06-01 22:34:40 -04:00
Vijay Janapa Reddi
363869fcf0 Update MLSysIM docs and tutorial guidance 2026-06-01 21:54:41 -04:00
Vijay Janapa Reddi
d3381eebdd Clean MLSysIM tutorial slide builds 2026-05-31 15:14:39 -04:00
Vijay Janapa Reddi
2b322bea8c Clean MLSysIM docs solver references 2026-05-31 15:05:17 -04:00
Vijay Janapa Reddi
49518363d2 Clean MLSysIM standalone API boundaries 2026-05-31 14:10:17 -04:00
Vijay Janapa Reddi
5b17578797 docs(mlsysim): P10a — propagate core→engine + infra→infrastructure rename to docs/tutorial/paper
Repoint mlsysim.core.<engine-mod> -> mlsysim.engine.<mod>, the
from-mlsysim.core-import-calibration form, and mlsysim.infra -> mlsysim.infrastructure
across the deferred consumers: docs prose + tutorials, tutorial slides/cheatsheet/
exercises, paper.tex, README, cli/DESIGN.md, and the mlsysim_constants audit README.
Also fix two docstrings inside the moved engine modules (calibration.py, pipeline.py)
that still named the old core paths. Update the quartodoc config (sections list) to
the new module paths and add the engine package.

NOTE: the generated quartodoc API stubs under mlsysim/docs/api/ (core.*.qmd,
infra*.qmd) still carry the old paths — they regenerate from the updated config via
`quartodoc build` (toolchain not installed in this worktree), so they are left
untouched here rather than hand-edited. Run `quartodoc build` to refresh them.

482 passed; import clean.
2026-05-29 18:35:38 -04:00
Vijay Janapa Reddi
4290ca0dba refactor(mlsysim): P9a — rename infra/ → infrastructure/ (namespace↔package match)
Pure rename so the package name matches its public namespace (Infrastructure).
All internal + example + doc importers repointed; public mlsysim.Infrastructure
unchanged. Generated docs/api/infra*.qmd stubs left for quartodoc regen (P10).

482 passed, import clean.
2026-05-29 18:22:03 -04:00
Vijay Janapa Reddi
e5ecf995ee chore(tutorial): update CI pipelines, docs, and Makefiles for the new 4-module tutorial structure
- Updated all GitHub Actions workflows (build-pdfs, preview-dev, publish-live, update-pdfs) to loop over `tutorial_module1` through `tutorial_module4` instead of the legacy `part1`/`part2`.
- Updated Quarto documentation (`slides.qmd`, `_quarto-html.yml`) to correctly surface the 4 new module PDFs on the website.
- Updated the tutorial Makefile to compile all 4 modules.
- Updated `.gitignore` and instructor quickstart documentation to reflect the new slide outputs.
2026-05-27 16:47:56 -04:00
Vijay Janapa Reddi
eb66b0d2e0 docs(tutorial): completely refactor tutorial slides into 4 conference-ready modules
- Split the previous 'Part 1' and 'Part 2' monolithic presentations into four distinct, pedagogically cohesive modules (Module 1 through 4) suitable for a Half-Day or Full-Day conference tutorial.
- Module 1 (Foundations & Architecture): Added slides on the new Pydantic registries, the Provenance system ('Zero Hallucinations'), and dimensional strictness with 'pint'.
- Module 2 (Advanced Single-Node Analysis): Integrated the new 'Reasoning Wall' (InferenceScalingModel) and the Data Wall.
- Module 3 (Scale, Dollars, and Carbon): Integrated Cross-Domain Carbon Accounting (Cookbook Scenario B).
- Module 4 (DSE & Synthesis): Integrated SLA-Driven Synthesis (Cookbook Scenario D).
- Replaced fragmented code snippets with the concrete, runnable scenarios from the paper's Code Examples Cookbook.
2026-05-27 09:29:22 -04:00
Vijay Janapa Reddi
ce174fdd84 docs(tutorial): update slides to include InferenceScalingModel (Reasoning Wall) and reference the Code Cookbook 2026-05-27 09:20:57 -04:00
Vijay Janapa Reddi
3a191191c7 docs(mlsysim): finish tutorial slides and API reference coverage.
Align part 1/2 slide imports with post-migration solver paths, add registry API stubs, extend doc CI to scan .tex slides, and fix release-note examples.
2026-05-25 15:44:47 -04:00
Vijay Janapa Reddi
ff614a3682 docs(mlsysim): align website with registry migration and add zoo coverage.
Update tutorials and landing pages to canonical nested registry paths, fix solver
import examples, add Platforms/Datasets/Literature/Ops zoo pages plus provenance
docs, and gate doc drift with test_doc_registry_paths.
2026-05-25 15:21:50 -04:00
Vijay Janapa Reddi
1859afa546 Remove mlsysim.core.defaults and migrate book to domain registries.
Delete the catch-all defaults module and relocate assumptions into
Literature, Systems, Infrastructure, Ops, Platforms, and core.calibration.
Update textbook QMD cells, labs, audit tooling, and CI gates so registry
paths are authoritative with no package-root aliases or defaults shims.
2026-05-25 13:08:13 -04:00
Vijay Janapa Reddi
216e5a0695 Resolve Vol1 notation constant consistency 2026-05-22 22:38:22 -04:00
Vijay Janapa Reddi
f109844132 merge: pull local dev into release-review (design grammar + mlsysim 0.1.2) 2026-05-18 02:54:12 -04:00
Vijay Janapa Reddi
e9549ff1bf chore(release-review): pre-commit cleanup pass
Whitespace/alignment normalization, dead TikZ comment-block removal,
table-caption coverage, bib field-order tidy + chipsact2022 entry,
unused-import cleanup, .md → .qmd link fix.

All 41 pre-commit checks pass.
2026-05-18 02:52:41 -04:00
Vijay Janapa Reddi
281a58ca22 Add first-order mlsysim modeling extensions 2026-05-17 22:25:56 -04:00
Vijay Janapa Reddi
d07cf72528 refactor: migrate slides + mlsysim tutorial from xelatex to pdflatex
Switches 35 chapter decks (slides/vol1 + slides/vol2) and 2 mlsysim
tutorial decks (mlsysim/tutorial/slides/tutorial_part{1,2}.tex) from
xelatex+fontspec+texgyreheros to pdflatex+helvet+courier.

Why
---
Yesterday's slides-publish-live shipped PDFs with completely blank text
(see https://github.com/harvard-edge/cs249r_book/releases/download/
slides-latest/vol1_00_course_overview.pdf — Liberation Sans was
embedded but glyphs were missing because xelatex on Ubuntu CI could
not find texgyreheros.otf and silently fell back). The mlsysim
tutorial decks fared no better, requiring four rounds of fixes
(Helvetica Neue → texgyreheros → tex-gyre apt + mktexlsr → Latin
Modern) before they would even compile.

The root cause is engine choice: fontspec on xelatex makes runtime
OS-font discovery the build's critical path. If the host TeX install
or fontconfig doesn't have the requested font, fontspec either errors
hard (mlsysim's experience) or silently substitutes (slides' silent
broken-PDF failure mode). Either way the build is fragile.

paper.tex has been using pdflatex+helvet+mathpazo+courier for months
without a single font issue. Bringing slides + mlsysim tutorial onto
the same engine + font convention eliminates the entire failure class.

Changes
-------
* 35 chapter decks: replace
    \usepackage{fontspec}
    \setsansfont{texgyreheros}[Extension=.otf, ...]
    \setmonofont{texgyrecursor}[Extension=.otf, ...]
  with
    \usepackage[T1]{fontenc}
    \usepackage[scaled=0.9]{helvet}
    \usepackage{courier}
    \renewcommand{\familydefault}{\sfdefault}
  Same Helvetica-class look (NimbusSans = URW's Helvetica clone in
  helvet), shipped via texlive-fonts-recommended Depends.

* 2 mlsysim tutorial decks: same swap (was Latin Modern from the prior
  retry).

* slides/Makefile: LATEX := xelatex → pdflatex.
* mlsysim/tutorial/Makefile: same.

* slides-build-pdfs.yml: drop texlive-xetex (engine), drop
  texlive-fonts-extra (was for tex-gyre). Result: smaller apt-install,
  no fontspec silent-fallback class of bugs.

* mlsysim-build-pdfs.yml: same engine + apt cleanup; drop JetBrains
  Mono manual fc-cache step (we no longer reference JetBrains Mono).

Bar copy
--------
* mlsysim/docs/config/announcement.yml: append Lecture Slides to the
  "Alongside the book" row — the mlsysim tutorial deliverable IS slides,
  so cross-linking is natural.

* site/config/announcement.yml: drop the "🎓 Teach with it: Lecture
  Slides · Instructor Hub" line entirely from the landing bar. Landing
  is for learners; teachers find Instructor Hub via the navbar Teach
  menu, and Slides via Instructor Hub.

Verification
------------
Local Mac builds with pdflatex:
  - vol1/01_introduction: 52 pages, NimbusSans-Regu/Bold embedded
  - vol2/05_distributed_training: 48 pages, NimbusSans embedded
  - mlsysim tutorial_part1: 90 pages, NimbusSans embedded
  - mlsysim tutorial_part2: 47 pages, NimbusSans embedded
All Type 1, sub-set, Unicode tag yes — renders cleanly.
2026-05-13 10:55:42 -04:00
Vijay Janapa Reddi
6678b7abca fix(mlsysim/tutorial): switch from texgyreheros to Latin Modern Sans/Mono
After three rounds of trying to get texgyreheros to resolve on the
Ubuntu mlsysim-build-pdfs runner (explicit `tex-gyre` apt install,
explicit `mktexlsr` post-install, 40-min job timeout), xelatex still
errored with 'The font texgyreheros-regular cannot be found'. The .otf
files were present on disk but invisible to kpsewhich; the slides-build
workflow with the same package set somehow finds them, the mlsysim
workflow doesn't, and that environmental delta is opaque after several
diagnostic passes.

Switch the tutorial decks to Latin Modern Sans / Mono via file-pattern
lookup against the `lm` family (lmsans10, lmmono10). These ship in
the `lmodern` apt package which is a hard Depends already installed
in the workflow and which the Mac TeX Live install also has — both
environments resolve cleanly.

Visual cost: tutorial decks now use Latin Modern instead of a Helvetica
clone — slightly more 'TeX-looking' than the chapter decks, but
internally consistent and pixel-stable across macOS and Ubuntu. Local
Mac build verified: 47-page PDFs, fonts embedded as LMSans10 +
LMMono10.

Strategic note: the chapter decks still use texgyreheros and work on
their own runner. We could unify both onto Latin Modern in a follow-up,
or unify both onto texgyreheros once the package-resolution mystery
is understood — see proposed composite `setup-texlive` action.
2026-05-12 11:02:35 -04:00
Vijay Janapa Reddi
f45921af6c fix(mlsysim): install tex-gyre apt package so tutorial PDFs build on Ubuntu
The tutorial decks use the canonical lecture-deck font pattern
(\setsansfont{texgyreheros}[Extension=.otf, UprightFont=*-regular,
...]) which routes through kpsewhich on the texmf tree. On Ubuntu the
matching .otf files ship in the standalone `tex-gyre` apt package,
which is only a *Suggests* of texlive-fonts-extra — never a Depends.
The mlsysim-build-pdfs workflow uses --no-install-recommends, which
filters out both Recommends and Suggests, so tex-gyre was never
installed. xelatex then failed with:

    ! Package fontspec Error: The font "texgyreheros-regular"
      cannot be found.

Pin tex-gyre into the apt install list explicitly. Leaves the .tex
preambles on the canonical lecture-deck pattern (which works on macOS
TeX Live for the same kpsewhich reason). Mac local build verified
producing 47-page PDFs with TeXGyreHeros + TeXGyreCursor embedded.
2026-05-12 09:41:27 -04:00
Vijay Janapa Reddi
df60b60761 fix(mlsysim/tutorial): use texgyreheros so slides build on Linux CI
Both tutorial deck preambles were hardcoded to Helvetica Neue (Apple-only)
and Courier New (Microsoft-only), which broke xelatex on the Ubuntu runner
with `Package fontspec Error: The font "Helvetica Neue" cannot be found`.
This blocked the entire mlsysim-publish-live pipeline (PDF build job
failure cascaded to skip deploy).

Switch to the same texgyreheros/texgyrecursor pattern already in use by
every lecture deck (slides/vol1/01_introduction et al.). Those fonts ship
with texlive-fonts-extra, which mlsysim-build-pdfs.yml already installs,
so no workflow change is needed and macOS builds are visually unchanged
(TeX Gyre Heros is the canonical Helvetica clone).

Verified locally with `cd mlsysim/tutorial && make slides`: both decks
build, pdffonts confirms TeXGyreHeros + TeXGyreCursor embedded.
2026-05-12 08:45:03 -04:00
Vijay Janapa Reddi
0b782b4c0f fix(mlsysim): publish tutorial slides alongside the docs site
The mlsysim docs hero linked "Slide Decks" to mlsysbook.ai/slides/, the
textbook teaching site, which has no relationship to the MLSys·im ISCA
tutorial. Wire the tutorial decks into the same publish path the paper
uses so the link resolves to mlsysim's own slides.

- mlsysim-build-pdfs.yml: split into build-paper / build-slides; new
  job installs xelatex + JetBrains Mono and uploads MLSYSIM-Slides
- mlsysim-publish-live.yml, mlsysim-preview-dev.yml: download
  MLSYSIM-Slides and inject tutorial_part{1,2}.pdf into MLSYSIM_DOCS
- mlsysim-update-pdfs.yml: redeploy slide PDFs in PDF-only hot-fix path
- mlsysim/tutorial/Makefile: build both decks (was part1 only) with
  proper target tracking
- mlsysim/docs/slides.qmd: new landing page with download buttons and
  a pointer disambiguating the textbook lecture decks
- mlsysim/docs/index.qmd: hero CTA now targets slides.qmd
- mlsysim/docs/config/_quarto-html.yml: register slide PDFs as
  resources and add navbar entry
2026-04-27 17:27:48 -04:00
Vijay Janapa Reddi
1eb30f5f86 fix(mlsysim): harden release QA and paper artifacts
Align the MLSys·im code, docs, paper, website, workflows, and lab wheel for the 0.1.1 release. This also fixes runtime/API issues found during release review and prepares the paper PDF plus archive package.
2026-04-25 10:06:01 -04:00
Vijay Janapa Reddi
0745a5fb73 mlsysim: align package identity copy with paper title
Four user-facing identity statements referenced an earlier working title
("A Composable Analytical Framework for Machine Learning Systems") that
no longer matches the actual paper title fixed in 0.1.1 ("MLSys·im:
First-Principles Infrastructure Modeling for Machine Learning Systems").
Align each identity-claiming statement to the paper title.

This covers user-facing *name-claims* only — the places where mlsysim
describes itself. Descriptive uses of "analytical framework" as a
technical category inside the paper and related technical prose are
retained (they situate mlsysim among other analytical tools like
Paleo, Calculon, Vidur; those uses are legitimate).

- mlsysim/pyproject.toml          : project description
- mlsysim/mlsysim/cli/main.py     : `mlsysim --help` text
- mlsysim/docs/tutorials/index.qmd: tutorial landing blurb
- mlsysim/tutorial/prerequisites.md: prerequisites preamble
2026-04-24 15:59:03 -04:00
Vijay Janapa Reddi
285d1e57e6 fix(tutorial): remove ISCA 2026 references — use generic 'Tutorial' label 2026-04-02 15:15:11 -04:00
Vijay Janapa Reddi
0803b97f88 feat(tutorial): upgrade to real beamerthememlsys — branded header, footer, fonts
Replaced bare Metropolis with the mlsys Beamer theme used by the
textbook lecture slides. Both decks now have:
- Crimson section navigation bar in header
- Branded footer (book logo + Harvard logo + page numbers)
- Helvetica Neue body font + JetBrains Mono/Courier code font
- Section divider pages with progress indicator
- \mlsysfocus for key equation slides

Part 1: 90 pages, 0 errors. Part 2: 47 pages, 0 errors.
2026-04-02 15:15:11 -04:00
Vijay Janapa Reddi
c02b98d333 fix(tutorial): slides compile cleanly — Part 1 (90pp) + Part 2 (47pp)
Part 1: fixed \predict→\PredictStart rename, added [fragile] to 13
frames, added xcolor[table] package. Zero errors, 90 pages.

Part 2: added standalone preamble+document wrapper, fixed pareto
figure path, added [fragile] to non-fragile lstlisting frames.
Zero errors, 47 pages.

Total: 137 pages of compiled Beamer slides for ISCA tutorial.
2026-04-02 15:15:11 -04:00
Vijay Janapa Reddi
c0f46fd04d fix(tutorial): minor Part 2 slide adjustments from simulation feedback 2026-04-02 07:36:16 -04:00
Vijay Janapa Reddi
1b66680aca docs(tutorial): simulation round 2 — NPS improved from -10/+5 to +10/+20
Eta explanation, AllReduce numbers-first, and compression fleet economics
all validated by re-simulated personas. 2 of 5 issues fully resolved,
2 partially resolved (timing still tight), 1 unaddressed (TinyML depth).
Multi-vendor Roofline is the single biggest NPS driver.
2026-04-02 07:34:25 -04:00
Vijay Janapa Reddi
8928a07ca8 fix(tutorial): simulation round 1 fixes — eta explanation, AllReduce numbers-first, compression fleet
1. Added 'Understanding eta' slide with table and CPI analogy (before first demo)
2. Added concrete AllReduce example with numbers BEFORE formula
3. Added 'Compression Changes Fleet Architecture' slide with cost table
Addresses top 3 issues from simulation feedback round 1.
2026-04-02 07:30:43 -04:00
Vijay Janapa Reddi
b7bf7a4ce5 docs(tutorial): simulated Q&A — 8 tough questions + 3 hallway conversations
Answer quality ranges 5-9/10. Weakest: MoE support (6/10), diffusion
models (5/10), TinyML depth (6/10) — all honest v0.2.0 gaps.
Strongest: spreadsheet comparison (7/10), inverse Roofline value (9/10),
CPI analogy for efficiency (9/10).
3 hallway conversations simulate real adoption decision dynamics.
2026-04-02 07:30:04 -04:00
Vijay Janapa Reddi
9955a76b92 feat(staffml): deep verification + mock NeurIPS reviews + paper improvements
Deep verification: 237-question stratified sample, 4.2% error rate found.
All 10 errors fixed (unit confusion, arithmetic, conceptual misapplication).
96 physics violations removed (impossible topic×track pairs).
Extended invariant checks added (applicability matrix enforcement).

Paper improvements from mock NeurIPS review feedback:
- Bloom critique softened ("complements" not "departs from")
- LLM generation transparency (95% ratio + 4.2% error rate disclosed)
- Scope explicitly limited to technical systems reasoning
- H100 specs corrected (989 TFLOPS, not 495)
- Track percentages reference table instead of hardcoding
- Figure captions use macros for consistency

New topics with questions: software-portability (50), comm-compute-overlap (50).
Phase metadata reclassified (42.5% inference, 37.7% both, 19.9% training).
2026-04-02 07:28:41 -04:00
Vijay Janapa Reddi
5c7e8e8fc5 docs(tutorial): simulation round 1 — 5 attendee personas, NPS -10 to +5
Key findings: efficiency never explained (fix needed), compression too
rushed (15 min), AllReduce needs numbers-before-formulas, TinyML feels
tangential. Inverse Roofline is the surprise hit. AMD engineer caught
a wrong MI300X bandwidth number.
2026-04-02 07:28:17 -04:00
Vijay Janapa Reddi
c7bd160e15 feat(tutorial): multi-vendor examples + slide polish for A+ quality
- Changed A100-vs-H100 comparisons to H100-vs-MI300X-vs-Gaudi3 three-way
- Added Hardware Zoo slide showing all 22 platforms across 6 vendors
- Added timing markers [N min] to speaker notes throughout
- Added "turn to your neighbor" discussion prompts after predict slides
- Added roadmap "You Are Here" slides after each break
- Stripped code boilerplate (import only shown once, aliases for later demos)
- Added figure references for new SVGs (multi-vendor-roofline, parallelism-3d,
  memory-hierarchy, pareto-front)
- Updated related_work.tex comparison table to highlight vendor breadth
2026-04-02 07:23:12 -04:00
Vijay Janapa Reddi
1faec33ae5 feat(tutorial): 4 new ISCA-quality SVG figures for multi-vendor + advanced topics
- multi-vendor-roofline.svg: H100, MI300X, Gaudi 3, TPU v5p, A100 on same plot
- parallelism-3d.svg: 16-GPU TP×PP×DP grid with communication labels
- memory-hierarchy.svg: HBM→L2→SRAM→Registers pyramid with annotations
- pareto-front.svg: Latency vs cost with Pareto frontier and SLA boundary

Total: 10 publication-quality SVG figures for the tutorial deck.
All follow style guide: 900×500 viewBox, semantic colors, 10px+ fonts.
2026-04-02 07:17:12 -04:00
Vijay Janapa Reddi
c7250e32df fix(tutorial): P0 slide blockers — hook, related work, figures, predict, transfer
1. Added $200M opening hook (2 slides before learning objectives)
2. Wired \input{related_work} between Part 0 and Part 1
3. Replaced figure placeholders with real SVG PDFs (carbon, hardware)
4. Added predict-then-reveal prompts before Aha #3 (256 GPU scaling)
   and Aha #4 (INT4 fleet halving)
5. Added "Name That Wall" personal transfer moment before closing

Addresses all 5 P0 blockers from Patterson's presentation review.
2026-04-01 23:27:06 -04:00
Vijay Janapa Reddi
8c6738772e fix(tutorial): bump SVG font sizes for ISCA projection readability
All font-size values < 10px bumped to 9.5-11px minimum across all 6
figures. At 900x500 viewBox on a 16:9 projection, this ensures text
is readable from the back of a 300-person room.
2026-04-01 23:24:46 -04:00
Vijay Janapa Reddi
f62dc8cca2 docs(tutorial): instructor quick-start guide — 15 min adoption path
Covers: install, first demo, first homework, semester plan, auto-grading
hints, and material inventory. Designed to minimize instructor adoption
friction for ML systems courses.
2026-04-01 23:19:21 -04:00
Vijay Janapa Reddi
0488d01c79 feat(tutorial): add 38 code listings + figure refs to Part 2 slides
Parts 5-9 were lecture-only (0 code blocks). Now every section has
live demo code using real mlsysim API: EconomicsModel, SustainabilityModel,
DSE search, Engine.sweep, ESP32/nRF52840/H100 comparison, Pipeline
composition, SensitivitySolver, capstone starter code.

Figure placeholders added for carbon-geography and hardware-spectrum SVGs.
2026-04-01 19:23:31 -04:00
Vijay Janapa Reddi
42dc31a202 feat(tutorial): 6 publication-quality SVG figures for ISCA slides
- roofline-model.svg: Classic Roofline with LLM decode + CNN training points
- iron-law-decomposition.svg: Iron Law equation with wall-to-term mapping
- serving-two-phases.svg: Prefill (compute) vs Decode (memory) phases
- allreduce-ring.svg: 8-GPU ring with reduce-scatter + all-gather
- hardware-spectrum.svg: nRF52840 → ESP32 → Jetson → H100 → NVL72 scale
- carbon-geography.svg: Norway/Quebec/US/Poland bar chart (41x gap)

All follow svg-style.md: 900x500 viewBox, semantic colors, Helvetica font.
2026-04-01 19:22:20 -04:00
Vijay Janapa Reddi
d42e075b66 build(tutorial): add Makefile for SVG→PDF + xelatex slide build pipeline
Supports inkscape and rsvg-convert for SVG conversion.
Targets: make (all), make svgs, make slides, make check, make clean.
Build output goes to _build/ (gitignored).
2026-04-01 19:19:35 -04:00
Vijay Janapa Reddi
e24a5a2d9e feat(tutorial): pilot study protocol for pre/post quiz research data
Within-subjects design (N≥30), paired t-test analysis plan, IRB
considerations, expected effect size (d=0.8), and timeline for
running at ISCA 2026. Produces publishable data for SIGCSE/L@S.
2026-04-01 19:14:49 -04:00
Vijay Janapa Reddi
016089f966 feat(tutorial): add 8 related-work slides — positioning, landscape, CPI analogy
Comparison table of 7 tools (ASTRA-sim, Calculon, DeepSpeed, LLMPerf, etc.).
Fidelity-speed spectrum TikZ diagram. Honest 'What We Don't Do' slide.
Iron Law wall-to-term mapping. CPI analogy for the efficiency parameter.
22 walls at a glance compact table. Designed for \input{} into main deck.
2026-04-01 19:14:33 -04:00
Vijay Janapa Reddi
b61f632b71 feat(tutorial): pre/post assessment quiz — 10 questions mapping to 6 understanding goals
Designed for dual use: tutorial engagement + publishable research data.
Tests transfer (apply framework to unfamiliar systems), not recall.
Includes distractor analysis and scoring rubric.
2026-04-01 19:13:27 -04:00
Vijay Janapa Reddi
24ca3b0ef9 feat(mlsysim): complete ISCA tutorial package — backward design + 94 slides
Full-day tutorial package for ISCA 2026:

Tutorial Design (DESIGN.md, 639 lines):
- Backward design with 4 transfer goals, 6 enduring understandings
- 5 designed "aha moments" with predict-then-reveal structure
- Hour-by-hour schedule with 40% hands-on minimum
- Capstone: multi-region fleet design under budget/latency/carbon constraints
- Facilitation notes, energy management, common pitfalls

Slides (3,081 lines LaTeX):
- Parts 0-4: Welcome, Iron Law, Serving, Compression, Distributed
- Parts 5-9: Economics, DSE, TinyML, Advanced, Wrap-up
- ~94 slides with live demos using real mlsysim API calls
- Speaker notes on every exercise slide

Supporting Materials:
- exercises.md: 8 hands-on exercises with expected answers
- cheatsheet.md: single-page reference card (Iron Law + top equations)
- prerequisites.md: setup instructions + troubleshooting FAQ
2026-04-01 19:02:23 -04:00