Commit Graph

556 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
bcbcbf7f3d fix(milestone): reset model before mixed task challenge
The transformer was being trained sequentially on reversal then copying,
which caused it to "forget" reversal before the mixed task. Now we
reinitialize the model before challenge 3 so it learns both tasks
together with proper prefix conditioning.
2026-01-28 18:36:16 -05:00
Vijay Janapa Reddi
8f9481b508 fix(test): update assertion to match actual error message
The test checked for "invalid" or "error" but the actual message
says "Command Not Found" and "not a valid command".
2026-01-28 17:36:20 -05:00
Vijay Janapa Reddi
eb84df491e docs(paper): clarify Adam memory overhead + fix LaTeX labels
- Clarify "3× memory" → "3× optimizer-related memory (gradients plus
  two state buffers)" for accuracy
- Fix lstlisting label syntax: label=lst:... → label={lst:...}
- Remove stale figure reference, use prose instead
- Fix convolutions comment: 6 → 7 nested loops (matches actual code)
- Remove unused benchmark_table3.py
2026-01-28 17:19:55 -05:00
Vijay Janapa Reddi
dc7ff1dfc9 feat(site): link Paper to arXiv instead of local PDF
The paper is now published at arXiv:2601.19107, so link directly
to the abstract page for better discoverability and citation info.
2026-01-28 15:51:36 -05:00
Vijay Janapa Reddi
316bdae031 Merge dev: user journey test + export bug fix 2026-01-28 12:42:30 -05:00
Vijay Janapa Reddi
c46beda3e5 feat(cli): better error message for invalid commands 2026-01-28 12:41:58 -05:00
Vijay Janapa Reddi
98c5415a5a fix: skip sync prompt in CI + increase milestone timeout
- Skip "sync to profile" prompt when not in interactive terminal
  (was hanging in CI waiting for input that never comes)
- Increase milestone timeout from 180s to 300s for heavy milestones
  (CNN and Transformer training can take 2-3 minutes on CI)
2026-01-28 11:54:23 -05:00
Vijay Janapa Reddi
a70c724a02 fix: export failure now blocks progress + add user journey test
Bug Fix:
- Export failures now return early in module complete, preventing
  progress from being updated when export fails. This fixes the issue
  where students could start Module 02 even though tensor.py was
  never exported.

New --user-journey test:
- Simulates exact student flow: module start --no-jupyter → module complete
- Runs milestones at natural unlock checkpoints (not all at end)
- Milestone checkpoints: after modules 03, 08, 09, 13, 19
- Explicit step-by-step output for easy CI debugging

New --no-jupyter flag:
- Added to 'tito module start' for CI/testing
- Creates notebook but skips opening Jupyter

Ref: https://github.com/harvard-edge/cs249r_book/discussions/1147
2026-01-28 09:28:15 -05:00
Vijay Janapa Reddi
e668c5b700 docs(paper): revise abstract for citation impact
- Name the problem: "algorithm-systems divide"
- Name the approach: "implementation-based systems pedagogy"
- Add concrete systems examples (O(N^2), Adam 3x memory)
- Include MLPerf-style benchmarking in milestones
- Strengthen citable terminology throughout
2026-01-28 08:27:11 -05:00
Vijay Janapa Reddi
2b57102cc6 fix: sync version files to v0.1.6 2026-01-27 21:26:37 -05:00
github-actions[bot]
a04fe4c6f6 docs: add @lalalostcode as tinytorch contributor for bug 2026-01-27 18:43:10 +00:00
Vijay Janapa Reddi
aefbedbe30 fix(tinytorch): add PYTHONIOENCODING=utf-8 for Windows emoji support
Fixes encoding issues on Windows where emoji/unicode output would fail.
Thanks @lalalostcode for reporting!

See: https://github.com/harvard-edge/cs249r_book/discussions/1145
2026-01-27 13:20:37 -05:00
Vijay Janapa Reddi
bfed0dc76f chore(tinytorch): remove CHANGELOG.md in favor of GitHub releases 2026-01-27 13:08:11 -05:00
Vijay Janapa Reddi
22ef6bbbbd docs: add @rnjema and @joeswagson as tinytorch contributors for Windows support 2026-01-27 13:01:14 -05:00
Vijay Janapa Reddi
cb1062355e chore(tinytorch): bump version to 0.1.6 for release 2026-01-27 13:00:10 -05:00
Vijay Janapa Reddi
ded0988d1b Merge remote-tracking branch 'origin/feature/tinytorch-core' into dev 2026-01-27 12:58:55 -05:00
Vijay Janapa Reddi
400f302e8f docs(tinytorch): update CHANGELOG for v0.1.5 release 2026-01-27 12:58:34 -05:00
github-actions[bot]
23787b7d71 docs: add @Kobra299 as tinytorch contributor for bug 2026-01-27 17:55:07 +00:00
Vijay Janapa Reddi
446993eee6 feat(tinytorch): improve Windows/Git Bash installer support
Improvements based on PR #1105 by @rnjema:
- Add get_platform() function for OS detection
- Use $PYTHON_CMD -m pip for more reliable pip invocation
- Show Windows-specific guidance during installation
- Add text=auto to .gitattributes for cross-platform line endings

Closes #1078

Co-authored-by: rnjema <rnjema@users.noreply.github.com>
2026-01-27 12:51:38 -05:00
Vijay Janapa Reddi
08b7206257 fix: apply pre-commit formatting to tinytorch files
- Remove trailing whitespace in big-picture.md
- Apply bibtex-tidy formatting to paper/references.bib
2026-01-27 08:59:33 -05:00
Vijay Janapa Reddi
d2b56498b3 Fix convolution FLOPs calculation in profiling example
112 × 112 × 7 × 7 × 3 × 64 × 2 = 236,027,904 (not 235,012,096)
2026-01-27 08:38:18 -05:00
Vijay Janapa Reddi
91a75750df Fix computation errors in module examples
- Convolution: Position(1,1) result 8→7, final output corrected
- Pooling: Fix element lists and average values for bottom windows
- Matrix multiplication: Fix docstring results 13→16, 37→49
- Neural network layer: Fix matmul results in forward pass example

Fixes harvard-edge/cs249r_book#1144
2026-01-27 08:32:27 -05:00
Vijay Janapa Reddi
a6cacd2771 fix: correct @ngbolin contributor placement (book -> tinytorch)
- Remove @ngbolin from book/.all-contributorsrc (incorrectly added)
- Keep @ngbolin in tinytorch/.all-contributorsrc with 'doc' type
- Regenerate README tables
2026-01-27 08:27:00 -05:00
Vijay Janapa Reddi
2179d07483 fix: improve all-contributors project detection and add config
- Add configuration block at top for easy customization
- Fix project detection to check trigger line first (not just issue context)
- Improve LLM prompt with explicit JSON schema and examples
- Add project aliases support (e.g., 'tito' -> 'tinytorch')
- Fix @ngbolin contribution type (test -> doc)
2026-01-27 08:25:14 -05:00
Vijay Janapa Reddi
77baa56d25 Fix convolution example computation error (8 → 7)
Position (1,1) with region [[6,7],[0,1]] and kernel [[1,0],[0,1]]
correctly computes to 6×1 + 7×0 + 0×0 + 1×1 = 7, not 8.

Fixes harvard-edge/cs249r_book#1144
2026-01-27 07:47:31 -05:00
Vijay Janapa Reddi
1654ce4bf3 Style abstract: emphasize AI engineers and pattern names 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
aecb79026b Rewrite abstract in formal academic style 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
2df0c69a47 Tighten abstract (1785 -> 1496 chars) 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
ce5d0ea879 Update abstract with cleaner prose 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
ee64168813 Expand abstract with scope, accessibility, and concrete examples 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
0d00348cc8 Trim abstract to fit arXiv 1920 char limit 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
e4a664b9c1 Frame AI engineers as aspirational goal in abstract 2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
7c70577ab7 Emphasize AI engineers term in abstract 2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
c8476b1010 Add AI engineer framing to abstract 2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
000e8f7f5b Restore original writing style in transitions
Remove mechanical enumeration (First/Second/Third) and meta-commentary
to match paper's flowing academic prose style
2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
673e6ff73e Improve paragraph transitions throughout paper
- Future Directions: add numbering and connecting phrases between extensions
- Limitations: add category intro and transition words
- Pedagogical Scope: clarify two-principle structure
- Conclusion: add 'First/Second/Third' and audience transition
2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
918006b957 Fix UTF-8 multiplication signs for arXiv pdflatex 2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
64ecda7289 Fix compile script to use bibtex for natbib 2026-01-27 07:47:28 -05:00
Vijay Janapa Reddi
ac4c440606 Convert date fields to year for bibtex compatibility 2026-01-27 07:47:28 -05:00
Vijay Janapa Reddi
97d786fd54 Add fontawesome5 fire icon with spacing for title 2026-01-27 07:47:28 -05:00
Vijay Janapa Reddi
3344514eed Make paper arXiv-compatible with pdflatex
- Switch from fontspec/TeX Gyre to standard fonts (mathpazo, helvet, courier)
- Replace emoji package with no-op (title is just "TinyTorch")
- Switch from biblatex/biber to natbib/bibtex
- Works with both lualatex (local) and pdflatex (arXiv)
2026-01-27 07:47:28 -05:00
Vijay Janapa Reddi
d508b4292b Update acknowledgments and GenAI disclosure
- Acknowledge CS249r students whose feedback shaped the curriculum
- Acknowledge global mlsysbook.ai community
- Expand GenAI statement to cover framework development
- Frame AI assistance as enabling democratization (single author, 20 modules)
- Remove em-dashes throughout for cleaner prose
2026-01-27 07:47:28 -05:00
Vijay Janapa Reddi
7aef7150b1 Add generative AI disclosure statement per ACM policy 2026-01-27 07:47:28 -05:00
Vijay Janapa Reddi
fd5e735494 Restore fontspec, emoji, and biblatex for local compilation
Reverts arXiv-specific changes to work with compile_paper.sh:
- Restored fontspec with TeX Gyre fonts
- Restored emoji package
- Restored biblatex with biber backend
- Works with lualatex as expected by compile script
2026-01-27 07:47:27 -05:00
Vijay Janapa Reddi
b97d086f95 Fix arXiv compatibility issues
- Replace fontspec/custom fonts with standard LaTeX fonts (mathpazo, helvet, courier)
- Remove emoji package, define empty command for \emoji
- Switch from biblatex/biber to natbib/bibtex for better arXiv support
- Change \printbibliography to \bibliography{references}
2026-01-27 07:47:27 -05:00
Vijay Janapa Reddi
12fa930dd1 Simplify title and fix bibliography entry types
- Remove "Tensors to Systems" from subtitle for cleaner title
- Fix @article entries that should be @inproceedings (kannan2022astrasim,
  micikevicius2018mixed, strubell2019energy, vaswani2017attention)
- Remove duplicate booktitle field from williams2009roofline
- Standardize year fields across entries
2026-01-27 07:47:27 -05:00
Vijay Janapa Reddi
3ed2f58dab Remove unused module_flow diagram files 2026-01-27 07:47:27 -05:00
Vijay Janapa Reddi
90e30a508a Update paper title and add AI Engineering framing
- New title: "TinyTorch: Building Machine Learning Systems from First
  Principles: Tensors to Systems"
- Add strategic mentions of AI engineering as an emerging discipline
- Update competency matrix caption to reference AI engineer competencies
- Update conclusion to position TinyTorch as training AI engineers
- Add SEI AI Engineering workshop report reference
2026-01-27 07:47:27 -05:00
Vijay Janapa Reddi
a5f8a41100 Remove ungrounded claims from paper
- Remove fabricated claim about quantum ML and robotics community forks
  that don't actually exist
- Remove "quantum ML" from conclusion's list of future fork variants
- Change "validated through pilot implementations" to "designed for
  diverse institutional contexts" since validation is planned future work
2026-01-27 07:47:27 -05:00
Vijay Janapa Reddi
79ff0cd44a Update memory calculation example to match Module 1
- Replace MNIST/ImageNet full dataset calculation with the actual Module 1 exercise
- New text: "Students calculate memory footprints, discovering that a single batch of 32 ImageNet images requires 19 MB, while the full dataset exceeds 670 GB."
- Aligns paper claims with the codebase (01_tensor.py Q1)
2026-01-27 07:47:26 -05:00