Commit Graph

1064 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
8db3eb85c7 Update TOC to use 'Convolutions' for consistency with single-word naming pattern 2025-11-09 15:18:25 -05:00
Vijay Janapa Reddi
6788fca024 build: add PDF generation infrastructure for book
Add build scripts and GitHub Actions workflow to support PDF generation:
- build_pdf.sh: LaTeX-based PDF build for professional quality
- build_pdf_simple.sh: HTML-to-PDF build without LaTeX requirement
- Makefile: convenient shortcuts for common build tasks
- GitHub Actions workflow: automated PDF builds on demand

Supports multiple output formats:
- HTML website (default, via jupyter-book)
- PDF via HTML-to-PDF (pyppeteer, no LaTeX needed)
- PDF via LaTeX (professional typography, requires LaTeX)

Usage:
  make html        - Build HTML website
  make pdf-simple  - Build PDF without LaTeX
  make pdf         - Build PDF with LaTeX
2025-11-09 14:51:48 -05:00
Vijay Janapa Reddi
d93511d36b feat: add exported packages for benchmarking, competition, and data utilities
- tinytorch/benchmarking/: Benchmark class for Module 19
- tinytorch/competition/: Submission utilities for Module 20
- tinytorch/data/: Data loading utilities
- tinytorch/utils/data/: Additional data helpers

Exported from modules 19-20 and module 08
2025-11-09 14:42:23 -05:00
Vijay Janapa Reddi
b77224ba86 docs: add December 2024 release documentation
- DECEMBER_2024_RELEASE.md: Release announcement template
- RELEASE_CHECKLIST.md: Pre-release checklist and validation steps
- STUDENT_VERSION_TOOLING.md: Documentation for untested student generation tooling
2025-11-09 14:42:08 -05:00
Vijay Janapa Reddi
07734b7f04 docs: add module 14-19 completion and compliance reports
- SCAFFOLDING_COMPLIANCE_REPORT.md: Documents 100% compliance with Module 12 gold standard
- MODULE_14_COMPLETION_REPORT.md: Module 14 (now Memoization) completion documentation
- MODULE_14_REVIEW.md: Initial review and analysis of Module 14
2025-11-09 14:42:01 -05:00
Vijay Janapa Reddi
8a55a0839f build: add generated memoization notebook
Generated from memoization_dev.py after module restructuring
2025-11-09 14:41:24 -05:00
Vijay Janapa Reddi
737c734467 docs: add comprehensive docstrings to optimization modules 16-19
- Add Args/Returns/Example/Hints to key functions
- Improve documentation for compare_model_sizes (16)
- Enhance function documentation in compression (17)
- Add docstring details for acceleration (18)
- Improve benchmarking function docs (19)
2025-11-09 14:38:44 -05:00
Vijay Janapa Reddi
f636434f93 docs: add Args/Returns docstrings to quantization functions 2025-11-09 13:03:43 -05:00
Vijay Janapa Reddi
724211a3aa build: regenerate profiling notebook from updated dev file 2025-11-09 13:03:30 -05:00
Vijay Janapa Reddi
bcb06831f3 chore: update module index for memoization path change 2025-11-09 13:03:23 -05:00
Vijay Janapa Reddi
60484cc884 refactor: update KV cache module path to 15_memoization
Module path updated from 14_kvcaching to 15_memoization
to reflect optimization tier restructuring
2025-11-09 13:03:10 -05:00
Vijay Janapa Reddi
6e69de5184 feat: update profiler with helper functions and module path
- Update module path from 15_profiling to 14_profiling
- Add quick_profile helper for quick bottleneck discovery
- Add analyze_weight_distribution for pruning analysis
- Export new helper functions in __all__
2025-11-09 13:02:57 -05:00
Vijay Janapa Reddi
b11eaccd5e docs: update TOC to reference renamed convolutional networks chapter 2025-11-09 13:02:42 -05:00
Vijay Janapa Reddi
5be56104e2 docs: standardize Foundation Tier formatting to professional style
Remove emoji section headers and apply consistent professional formatting:
- Module 02-03, 05-07: Remove 🎯🧠📚🚀🧪 emoji headers
- Replace with clean headers: Learning Objectives, Implementation Guide, Testing, Systems Thinking
- Add Why This Matters sections with production/historical context
- Maintain tier badges and difficulty stars (acceptable branding)
- Follow Module 04 professional template
- All Foundation Tier now consistent
2025-11-09 12:59:31 -05:00
Vijay Janapa Reddi
c361eb752a docs: update all tier references for consistency
- Intelligence Tier → Architecture Tier (08-13)
- Performance Tier → Optimization Tier (14-19)
- Updated intro.md tier descriptions
- Updated 00-introduction.md throughout
- Updated module prerequisites and next_steps
- Updated book README content overview
- Updated learning-progress.md student journey
- Updated capstone and benchmarking tier references
2025-11-09 12:53:10 -05:00
Vijay Janapa Reddi
839b32c4ac docs: update module references in README and guides
- Update README.md module structure (14→Profiling, 15→Memoization)
- Fix tier descriptions (10-13 Architecture, 14-19 Optimization)
- Update Module 13 next steps to reference Module 15
- Fix Module 15 prerequisite reference to Module 14
- Correct cifar10-training-guide module numbers
2025-11-09 12:42:27 -05:00
Vijay Janapa Reddi
265613fba9 docs: Add restructuring completion summary
Comprehensive summary of all changes made:
- Module reorganization complete
- Chapter updates complete
- All commits made in logical pieces
- Ready for testing and review
2025-11-09 12:27:49 -05:00
Vijay Janapa Reddi
4b69045589 refactor: Remove old module and chapter files after reorganization
Cleanup of renamed files:
- Deleted old module source files (14_kvcaching, 15_profiling, 16_acceleration, etc.)
- Deleted old chapter markdown files
- These have been replaced by reorganized versions in previous commits
2025-11-09 12:26:47 -05:00
Vijay Janapa Reddi
609cfac8f8 docs(toc): Update table of contents for reorganized structure
TOC changes:
- Architecture Tier: (08-14) → (08-13)
- Removed Module 14 (KV Caching) from Architecture Tier
- Renamed Module 09: 'Spatial (CNNs)' → 'Convolutional Networks'
- Optimization Tier: (15-19) → (14-19)
- New order: Profiling, Memoization, Quantization, Compression, Acceleration, Benchmarking

Added documentation:
- OPTIMIZATION_TIER_RESTRUCTURE_PLAN.md: Comprehensive implementation plan
- PROGRESS_SUMMARY.md: Summary of completed work
2025-11-09 12:26:32 -05:00
Vijay Janapa Reddi
a34a530497 docs(chapters): Reorganize optimization tier chapters (14-19)
Chapter file renaming:
- 15-profiling.md → 14-profiling.md
- 14-kvcaching.md → 15-memoization.md
- 17-quantization.md → 16-quantization.md
- 18-compression.md → 17-compression.md
- 16-acceleration.md → 18-acceleration.md
- 09-spatial.md → 09-convolutional-networks.md

All chapter metadata updated:
- Headings (module numbers)
- Prerequisites (reflect new order)
- Next steps (point to correct modules)
- Difficulty (Memoization: 3→2, Acceleration: 4→3)
- Cross-references updated
2025-11-09 12:26:22 -05:00
Vijay Janapa Reddi
45bc26c9a5 refactor(modules): Reorganize optimization tier structure (14-19)
Module renaming and reordering:
- 15_profiling → 14_profiling (now first in optimization tier)
- 14_kvcaching → 15_memoization (renamed to emphasize pattern)
- 17_quantization → 16_quantization
- 18_compression → 17_compression
- 16_acceleration → 18_acceleration (moved after compression)
- 19_benchmarking (unchanged)

All module metadata updated (numbers, prerequisites, connection maps)
2025-11-09 12:26:13 -05:00
Vijay Janapa Reddi
34a8d04791 feat(modules): Add profiling motivation sections to optimization modules
- Quantization: Shows FP32 memory usage, motivates precision reduction
- Compression: Shows weight distribution, motivates pruning
- Acceleration: Shows CNN compute bottleneck, motivates vectorization

Each module now follows pattern: Profile → Discover → Fix
2025-11-09 12:26:03 -05:00
Vijay Janapa Reddi
536f1d235a feat(memoization): Add profiling motivation section
- Shows O(n²) latency growth in transformer generation
- Demonstrates problem before teaching solution
- Prepares module for reorganization to Module 15
2025-11-09 09:16:08 -05:00
Vijay Janapa Reddi
70db66b5b8 feat(profiler): Add helper functions for optimization modules
- Add quick_profile() for simplified profiling interface
- Add analyze_weight_distribution() for compression module
- Both functions will be used by modules 15-18
2025-11-09 09:15:13 -05:00
Vijay Janapa Reddi
15d49509c3 docs: Add comprehensive implementation plan for optimization tier restructure 2025-11-09 09:14:15 -05:00
Vijay Janapa Reddi
8b424636c7 Rename Intelligence Tier to Architecture Tier
Changed tier name from 'Intelligence' to 'Architecture' for clarity:
- Updated TOC: 🏛️ Architecture Tier (08-14)
- Updated all tier badges in modules 08-14
- Changed emoji from 🧠 to 🏛️ (building/columns)

Rationale:
- 'Intelligence' was vague and didn't describe content
- 'Architecture' accurately describes what students learn
- Professional terminology used in ML industry
- Clearer pedagogical narrative: different neural architectures
  (data infrastructure, CNNs for vision, Transformers for language)

Content remains unchanged, only naming improved.
2025-11-09 08:32:07 -05:00
Vijay Janapa Reddi
9e51b31c15 fix: Pin to jupyter-book < 1.0 as v2 has issues with directory handling 2025-11-08 19:06:17 -05:00
Vijay Janapa Reddi
a86b296e5c debug: Add directory listing after build to diagnose missing HTML output 2025-11-08 19:04:36 -05:00
Vijay Janapa Reddi
c9a888c821 fix: Remove unused appendices directory that was causing build errors 2025-11-08 19:03:25 -05:00
Vijay Janapa Reddi
5da4b851a7 fix: Remove --all flag from jupyter-book build to only generate HTML 2025-11-08 19:01:53 -05:00
Vijay Janapa Reddi
ed6127c909 debug: Add file listing to diagnose checkout issue 2025-11-08 18:59:53 -05:00
Vijay Janapa Reddi
064acb182f fix: Replace wildcard gitignore that was preventing file checkout 2025-11-08 18:54:11 -05:00
Vijay Janapa Reddi
153c12c29b fix: Clean before build and exclude appendices directory from Jupyter Book 2025-11-08 18:52:25 -05:00
Vijay Janapa Reddi
abc2af9daf fix: Exclude .venv and build artifacts from Jupyter Book scanning 2025-11-08 18:49:56 -05:00
Vijay Janapa Reddi
7ebb92ded0 Merge branch 'dev' 2025-11-08 18:47:18 -05:00
Vijay Janapa Reddi
13ea156fb1 fix: Simplify book deployment workflow and remove legacy convert_readmes dependency 2025-11-08 18:47:02 -05:00
Vijay Janapa Reddi
5f2541e761 Merge branch 'dev' 2025-11-08 18:42:45 -05:00
Vijay Janapa Reddi
db79952cb1 Simplify CLI and rename community commands
CLI improvements for better UX:
- Renamed 'tito community submit' to 'tito community share'
- Removed tito/commands/submit.py (moved to module workflow)
- Updated tito/main.py with cleaner command structure
- Removed module workflow commands (start/complete/resume)
- Updated __init__.py exports for CommunityCommand
- Updated _modidx.py with new module exports

Result: Cleaner CLI focused on essential daily workflows and
clear distinction between casual sharing vs formal competition.
2025-11-07 20:05:13 -05:00
Vijay Janapa Reddi
beccbae2ef Implement MLPerf Edu Competition module (Module 20)
Complete capstone competition implementation:
- Two division tracks: Closed (optimize) and Open (innovate)
- Baseline CNN model for CIFAR-10
- Validation and submission generation system
- Integration with Module 19 normalized scoring
- Honor code and GitHub repo submission workflow
- Worked examples and student templates

Module 20 is now a pedagogically sound capstone that applies
all Optimization Tier techniques in a fair competition format.
2025-11-07 20:04:57 -05:00
Vijay Janapa Reddi
34c6d95f59 Add normalized scoring and MLPerf principles to Module 19
Enhancements to benchmarking module:
- Added calculate_normalized_scores() for fair hardware comparison
- Implemented speedup, compression ratio, accuracy delta metrics
- Added MLPerf principles section to educational content
- Updated module to support competition fairness

These changes enable Module 20 competition to work across different hardware.
2025-11-07 20:04:46 -05:00
Vijay Janapa Reddi
0a8c4675f1 Clean up book directory - remove duplicates and archive unused files
Removed duplicate content:
- user-manual.md (17K) - duplicate of quickstart-guide.md
- instructor-guide.md (12K) - duplicate of classroom-use.md
- leaderboard.md (6K) - old Olympics content, superseded by community.md

Archived development/reference files to docs/archive/book-development/:
- THEME_DESIGN.md, convert_*.py, verify_build.py (build scripts)
- faq.md, kiss-principle.md, vision.md (reference docs)
- quick-exploration.md, serious-development.md (unused usage paths)

Archived unused images to book/_static/archive/:
- Gemini_Generated_Image_*.png (3 AI-generated images)

Result:
- 26% reduction in markdown files (39 → 29)
- No duplication of content
- Cleaner repository structure
- All active files in TOC or properly referenced

See docs/archive/book-development/CLEANUP_SUMMARY.md for details.
2025-11-07 18:34:11 -05:00
Vijay Janapa Reddi
fe0a9eb340 Add MLPerf® trademark notation
Added registered trademark symbol to MLPerf throughout:
- TOC: MLPerf® Edu Competition
- Chapter 20: MLPerf® Edu Competition

Proper attribution respects MLPerf trademark ownership.
2025-11-07 18:20:48 -05:00
Vijay Janapa Reddi
229971ef85 Improve module naming for clarity
Changes:
- Module 09: 'Spatial' → 'Spatial (CNNs)' in TOC for clarity
- Module 20: 'TinyMLPerf' → 'MLPerfEdu' to avoid confusion
  * TinyMLPerf is a real benchmark for edge devices
  * MLPerfEdu clearly indicates educational competition
  * More accurate descriptor for this capstone
- Fixed 'Performance Tier' → 'Optimization Tier' in Module 20 objectives

Better naming makes the course structure clearer for students.
2025-11-07 18:15:39 -05:00
Vijay Janapa Reddi
80983d9ad1 Update Optimization Tier badge from PERFORMANCE to OPTIMIZATION
Changed tier badge text for modules 15-19 to match TOC naming:
- Was: ** PERFORMANCE TIER**
- Now: ** OPTIMIZATION TIER**

Ensures consistency between TOC and chapter badges.
2025-11-07 17:55:05 -05:00
Vijay Janapa Reddi
4bb453aeaf Standardize Foundation Tier chapters to consistent format
All Foundation Tier modules (01-07) now use consistent formatting:
- Standard tier badge: **🏗️ FOUNDATION TIER** | Difficulty | Time
- Removed HTML divs and Module Info sections
- Clean Overview sections
- Consistent structure across all modules

Fixed Module 04 (Losses) which had wrong content (was about Networks)
2025-11-07 17:54:56 -05:00
Vijay Janapa Reddi
49e4561c17 Move KV Caching from Optimization to Intelligence Tier
KV Caching (Module 14) is about how transformers work efficiently,
not pure performance optimization. Moving it to Intelligence Tier.

Changes:
- Updated TOC: Intelligence Tier now 08-14 (was 08-13)
- Updated TOC: Optimization Tier now 15-19 (was 14-19)
- Changed Module 14 badge from PERFORMANCE to INTELLIGENCE
2025-11-07 17:54:46 -05:00
Vijay Janapa Reddi
bade407af9 Remove temporary documentation files
Cleaned up temporary files created during website standardization work:
- FINAL_STATUS.md, WEBSITE_USER_FEEDBACK.md, WORK_COMPLETE_README.md
- book/CONTENT_IMPROVEMENTS.md
- Tier overview placeholder files (content integrated into TOC structure)

These were working documents and are no longer needed.
2025-11-07 17:38:16 -05:00
Vijay Janapa Reddi
45cc1770ba Update Foundation Tier modules (02-07) and TOC structure
Foundation Tier modules updated to final standardized version:
- Consistent YAML frontmatter with all metadata
- FOUNDATION tier badges throughout
- Professional tone with minimal emojis
- Complete learning objectives and systems thinking questions
- Real-world connections to production systems

TOC structure improvements:
- Clean 3-tier organization (Foundation, Intelligence, Performance)
- Proper tier captions and ordering
- All 20 modules properly integrated
- Capstone section clearly marked
2025-11-07 17:38:00 -05:00
Vijay Janapa Reddi
d8ef8ab75f Standardize Module 20 (TinyMLPerf Competition) to professional template
- Add complete YAML frontmatter with metadata
- Add CAPSTONE badge with 5-star (Ninja) difficulty
- Standardize to exactly 5 learning objectives
- Implement competition structure with Closed/Open divisions
- Add comprehensive submission guidelines and validation
- Include normalized metrics for fair hardware comparison
- Add honor code and GitHub repo requirements
- Provide example optimizations at different skill levels
- Add Systems Thinking Questions on optimization priorities
- Connect to real MLPerf and industry applications
- Professional tone throughout
- Mark completion of all 20 modules!
2025-11-07 17:34:21 -05:00
Vijay Janapa Reddi
3a1dd0b055 Standardize Performance Tier Modules 16-19 to professional template
Module 16 (Acceleration): Hardware-aware optimization with SIMD and cache-friendly algorithms
Module 17 (Quantization): INT8 quantization and mixed-precision strategies
Module 18 (Compression): Pruning and model compression techniques
Module 19 (Benchmarking): MLPerf-style rigorous benchmarking

All modules include:
- Complete YAML frontmatter with metadata
- PERFORMANCE tier badges
- Standardized 5 learning objectives
- Build → Use → Optimize pedagogical pattern
- Production context and historical evolution
- Systems thinking questions
- Real-world connections
- Professional tone with minimal emojis
- Clear navigation to next modules
2025-11-07 17:32:48 -05:00