mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-06 17:49:07 -05:00
[PR #1397] [MERGED] MLSys·im 0.1.0 release-prep audit #8164
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/harvard-edge/cs249r_book/pull/1397
Author: @profvjreddi
Created: 4/18/2026
Status: ✅ Merged
Merged: 4/18/2026
Merged by: @profvjreddi
Base:
dev← Head:review/mlsysim-release-0.1.0📝 Commits (4)
2051276docs(mlsysim): release-prep audit fixes for 0.1.02c11080release(mlsysim): add 0.1.0 release notes and runbook9c0c5b2mlsysim: nest package layout, enable editable installs, clean lint172593bfix(mlsysim): repair docs build + lab test after nested-package restructure📊 Changes
114 files changed (+528 additions, -407 deletions)
View changed files
📝
labs/tests/test_static.py(+1 -1)📝
mlsysim/CHANGELOG.md(+7 -1)➕
mlsysim/RELEASE.md(+126 -0)➕
mlsysim/RELEASE_NOTES_0.1.0.md(+100 -0)📝
mlsysim/docs/config/_quarto-html.yml(+14 -5)📝
mlsysim/docs/config/announcement.yml(+1 -1)📝
mlsysim/docs/contributing.qmd(+5 -6)📝
mlsysim/docs/for-instructors.qmd(+10 -10)📝
mlsysim/docs/for-students.qmd(+4 -4)📝
mlsysim/docs/getting-started.qmd(+8 -8)📝
mlsysim/docs/index.qmd(+3 -3)📝
mlsysim/docs/math.qmd(+3 -3)📝
mlsysim/docs/models-and-solvers.qmd(+1 -1)📝
mlsysim/docs/references.bib(+8 -0)📝
mlsysim/docs/tutorials/00_hello_roofline.qmd(+1 -11)📝
mlsysim/docs/tutorials/01_memory_wall.qmd(+1 -11)📝
mlsysim/docs/tutorials/02_two_phases.qmd(+1 -11)📝
mlsysim/docs/tutorials/03_kv_cache.qmd(+1 -11)📝
mlsysim/docs/tutorials/04_starving_the_gpu.qmd(+2 -12)📝
mlsysim/docs/tutorials/05_quantization.qmd(+1 -11)...and 80 more files
📄 Description
Summary
Deep release-prep audit of
mlsysim/ahead of the 0.1.0 cut. Touches docs, build/release artifacts, and a couple of cross-site fixes; no public Python API changes.Scope was driven by
mlsysim/docs/WEBSITE_AUDIT.mdplus a fresh sweep of code, tests, wheel build, and broken links.Changes by phase
Phase 1 — Code & test health (no changes shipped, findings only)
pytest tests/→ 367 passed, 0 failed (CHANGELOG previously underclaimed 334).mlsysim eval Llama3_8B H100works.pip install -e .fails with the current Hatchsourcesrewrite. Documented ingetting-started.qmdandRELEASE_NOTES_0.1.0.md; recommend non-editable installs until we either flatten the layout or switch backends.examples/files broken end-to-end (filed in the release notes "known issues"):06_multi_objective_pareto.pyreferences aresult.pareto_frontattribute that doesn't exist onBatchingOptimizerResult.gemini_design_loop.pyhas a multi-line f-string syntax error.ruff check .reports 547 issues in package code, almost entirelyF405/F401from the registryimport *pattern. Not release-blocking; can be silenced with a per-rule allowlist in a follow-up.Phase 2 — Wheel & release artifacts
pyproject.toml,CITATION.cff,CHANGELOG.md,__init__.py,README.mdBibTeX.tests/,docs/,examples/,notebooks/,paper/,vscode-ext/,Makefile,pytest.ini,generate_appendix.py, orcheck_*.pyship inmlsysim-0.1.0-py3-none-any.whl.mlsysim/dist,mlsysim/__pycache__,mlsysim/.pytest_cachealready covered by the root.gitignore.mlsysim/{show,fmt,solvers}.pyconfirmed as intentional public API modules (re-exports + display helpers);labs/is the importablemlsysim.labsUI toolkit, not the marimo apps.Phase 3 — Docs site audit
docs/index.qmdand "Your First Analysis" ongetting-started.qmdupdated to the actualEngine.solve(ResNet50, A100, bs=1, fp16)output:Memory / 0.54 ms / 1843.MLSys·imin the navbar title, OG/Twitter metadata, sub-navbar, and the shared cross-site dropdown (shared/config/navbar-common.yml). Body-text references toMLSYSIM/MLSysimare intentionally left alone — they read as the all-caps brand and the academic citation respectively.mlsysim.core.solver: added the 4 missing classes (BatchingOptimizer,ForwardModel,NetworkRooflineModel,PlacementOptimizer).01_pipeline_callbacks,02_differential_explainer,12_design_space_exploration) to the sidebar. Removed a duplicate "Differential Explainer" card ontutorials/index.qmd.Unable to resolve link targetwarning Quarto emitted:tutorials/hello_world.qmd→tutorials/00_hello_roofline.qmdtutorials/llm_serving.qmd→tutorials/02_two_phases.qmdtutorials/sustainability.qmd→tutorials/07_geography.qmdtutorials/distributed.qmd(infor-instructors.qmd) →tutorials/06_scaling_1000_gpus.qmdtutorials/11_full_stack_audit.qmd→tutorials/12_full_stack_audit.qmd(4 tutorial files +TEMPLATE.md)api/core.formulas.qmd(3 refs inmath.qmd) → GitHub source linkapi/core.dse.qmd(inmodels-and-solvers.qmd) → GitHub source link@mlsysbook2024BibTeX entry referenced fromwhitepaper.qmd.Get started →link (config/announcement.yml) — it was a relative path that broke on every sub-page; now an absolute URL.pyproject.toml).Phase 4 — Cross-site & ecosystem integration
site/index.qmd's mlsysim card:llama-3-70b --batch 1was wrong on both the model name (no such alias) and the flag (--batch-size). Now readsLlama3_70B H100 --batch-size 1.shared/config/navbar-common.yml"Build" dropdown points athttps://mlsysbook.ai/mlsysim/and uses the sameMLSys·imtext as the in-site nav.mlsysim-publish-live.yml) isworkflow_dispatchonly and thatvars.MLSYSIM_DOCS/vars.DEV_MLSYSIM_PATHare referenced (env vars must be set in repo settings — documented inRELEASE.md).Phase 5 — Repo hygiene
mlsysim/dist,mlsysim/__pycache__,mlsysim/.pytest_cacheare gitignored ondev(no untracked-but-ignored cruft).mlsysim/{show,fmt,solvers}.py,vscode-ext/,labs/, andgenerate_appendix.py— all keep/exclude decisions match what the wheel actually ships.Phase 6 — Release deliverables
mlsysim/RELEASE.md— copy-pasteable runbook for tag → build → PyPI → docs deploy → GitHub release → post-release verification.mlsysim/RELEASE_NOTES_0.1.0.md— install/quickstart, highlights, and a frank "known limitations & gotchas" section flagging the editable-install bug, the two broken examples, the missingslides-latestGitHub release, and the not-yet-wired Colab/Binder buttons.mlsysim/CHANGELOG.mdtest count 334 → 367 (actual).Release gates
pytest tests/(367 tests)make build)dist/mlsysim-0.1.0-py3-none-any.whl+.tar.gzimport mlsysim+ CLI works0.1.0/2026-04-01quarto render)Unable to resolve link targetwarningsmlsysim eval,zoo,schema)editable install(pip install -e .)ruffcleanimport *; not release-blockingOut of scope (deliberately deferred)
examples/06_multi_objective_pareto.pyandexamples/gemini_design_loop.py(filed in release notes, low priority — both excluded from wheel).marimo exportinto the validate workflow / publishing the slide-deckslides-latesttag (out-of-repo prerequisites).MLSYSIM→MLSys·imacross the docs corpus (intentional left alone — reads as all-caps brand voice).sourcesrewrite to enable editable installs (will likely require flattening the package layout).Test plan
mlsysim-validate-devpasses on this PR.cd mlsysim && pytest tests/ -qreports 367 passed.cd mlsysim/docs && quarto renderproduces noUnable to resolve link targetwarnings.pip install mlsysim/dist/mlsysim-0.1.0-py3-none-any.whlin a fresh venv, thenmlsysim eval Llama3_8B H100 --batch-size 32returns a scorecard.mlsysim/docs/_build/index.html) and verify the hero example output, navbar branding, and announcement banner link.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.