Conversation
- Cover images: no caption, no fig label, consistent images/ path, fig-alt for all - Vol1: remove captions from conclusion, data_selection - Vol2: remove half-title, fix intro/ conclusion/ fleet_orchestration covers; add fig-alt to 11 chapters; fix robust_ai path ./images/ -> images/ - Vol2 PDF: use before-body-includes.tex (match Vol1, no half-title)
Uncomments the appendices section in the PDF configuration file to ensure that appendices are included in the PDF output.
…k-prose rules - inference: Pattern 1/2/3, Example 8-way tensor parallelism - sustainable_ai: Hardware/Mobile/Edge measurement, Cascade/Wake-word/Federated patterns, TinyML stack, MLPerf benchmarks, Energy Delay Product - edge_intelligence: Peak Memory Usage, Convergence/Non-IID/Heterogeneity, Communication-Computation Trade-off, When Does FL Work? - ops_scale, fault_tolerance, security_privacy: prior bold-to-header conversions
…on and robust_ai - collective_communication: Torus Topology (TPU Pods), Rail-Optimized Routing (NVIDIA DGX) → #### - robust_ai: Conceptual Foundation, Fast Gradient Sign Method (FGSM) → ######
Figures should have caption only in fig-cap attribute, not duplicated as trailing text. Removed redundant captions from: - introduction.qmd: fig-loss-vs-n-d, fig-data-scaling-regimes, fig-scaling-regimes - sustainable_ai.qmd: fig-datacenter-energy-usage
Refactors the build process to leverage shared output file resolution logic, ensuring consistency across build and debug commands. Improves validation by streamlining bibliography handling and adding stricter citation matching. Updates diagram dependencies and adjusts content for clarity and accuracy.
Ensures cover images in Vol. 2 chapters fill the available width, improving visual presentation across different screen sizes. Removes duplicate cover image from the introduction chapter. Corrects a typographical error in Appendix Machine regarding energy ratios.
The GitHub link (github.com/harvard-edge/TinyTorch/blob/main/paper/paper.pdf) returns 404. Use arxiv.org/pdf/2601.19107 instead. Fixes #1198
Updated figures in chapter 10: model_compression
- Fix Pareto diagram: swap A/C so line has positive slope (latency vs accuracy) - Add missing Image Classification writeup to Standard Benchmark Tasks - Treat anomaly_detection as binary classification (np.rand(2)) - Convert MLPerf inputs to Tensors + transpose HWC→CHW for TinyTorch models Fixes #1196
…ming - MLPerf® is a trademark of MLCommons - This module teaches the principles of MLPerf-style benchmarking
Improve dataset extraction robustness
…-general Upgrade GitHub Actions to latest versions
…ode only in fig-alt
- book-prose: allow compound × for simple products; require × alone only when
followed by word/unit; Unicode × only in fig-alt
- Revert split × back to compound (e.g. $3 \times 10^{-4}$)
- data_engineering: 8× A100 → 8$\times$ A100 (LaTeX in table)
- appendix_dam: Python outputs use LaTeX ×
- hw_acceleration: table dimensions use compound math ($4\times4\times4$)
- benchmarking: fix Python equation string
- introduction: consolidate index tags, fix 224×224 spacing, definition callout titles - data_selection, fault_tolerance, vol2 intro, responsible_ai, robust_ai: misc prose fixes
…to tinytorch and kits - Add git pull --rebase before push so concurrent comment-triggered runs don't reject each other (only one of three runs had succeeded for PR 1179). - Manually add @salmanmkc as code contributor to tinytorch and kits (labs was already added by the single successful run).
Adds missing citations and clarifies the text in the appendix on machine learning, specifically around the energy hierarchy and scaling laws. It also updates the fault tolerance section to include a reference to the backpropagation paper.
Applies consistent decimal formatting to f-string representations of various metrics throughout the book, enhancing readability. Also updates specific hardcoded numerical examples for clarity.
Replace double-quoted string interpolation in throw statement with -f format operator to prevent Docker RUN flattening from stripping quotes and causing PowerShell parse errors.
Add fallback search for tlmgr.bat when year-directory pattern fails, validate bin directory exists before use, and verify lualatex.exe path explicitly. Adds diagnostic output to help debug future path resolution issues.
The \right) delimiter was split across two lines, causing
a LaTeX compilation error ("Missing \right. inserted").
- Add explicit ENV PATH directive (Phase 15) so Docker layers inherit tool paths instead of relying on registry writes - Reorder phases: TeX Live moved last (slowest, fail last) - Create stable symlink C:\texlive\bin\windows for year-agnostic PATH - Skip pip self-upgrade to avoid WinError 3 shim lock - Use gswin64c (correct Scoop binary name) instead of gs - Add rsvg-convert fallback to Chocolatey if Scoop fails - Replace fragile verification loop with Test-Tool function - Relax ErrorActionPreference for Chocolatey TeX Live in baremetal
Add immediate per-tool post-install checks with explicit command resolution and exit handling, keep end-of-job final verification with isolated per-tool reporting, and ensure rsvg-convert is installed/verified for Quarto PDF SVG conversion.
Collapse multiline PATH ENV into a single valid Dockerfile instruction so Windows container builds parse and start correctly.
Verify Ghostscript through the Scoop shim (`gs`) and restore the Ghostscript `lib` path in image PATH so DLL-dependent checks pass during install and final verification.
Keep fail-fast installation checks for Ghostscript command presence, but defer executing Ghostscript until the final verification phase where full runtime dependencies and PATH are in place.
Replace Linux action-based and Windows Chocolatey-based TeX installation with direct install-tl flows that retry across multiple CTAN mirrors and pin tlmgr to a stable repository.
Avoid deleting /tmp/install-tl-unx.tar.gz before extraction by restricting cleanup to extracted install-tl directories.
Avoid checking $LASTEXITCODE after a piped lualatex command by capturing command output first and normalizing exit-code detection, preventing false non-zero failures.
Update Dockerfile and workflow final verification steps to normalize native command exit detection and fail explicitly on non-zero exits, avoiding false positives and false negatives in PowerShell checks.
Install TeX Live under the runner user home instead of /usr/local and resolve tlmgr from that location so direct install-tl succeeds without root write access.
Preserve container PATH during Windows docker-run steps and create/verify a python3 alias from Scoop Python so Quarto/Jupyter kernels that invoke python3 work reliably in both install-time and final verification checks.
Use single-quoted python -c code in the Docker RUN command so the command parses correctly under pwsh -Command and avoids parser errors during image build.
The "Scaling the Machine: From Node to Fleet" section, including the TikZ stack-comparison figure and layer walkthrough prose, belongs in Vol2 where the reader crosses the scaling boundary. Vol1 now flows directly from Samples/Dollar into ML vs. Traditional Software, with a two-sentence scope statement in Book Organization. The fn-gpu-parallel footnote is relocated next to its callsite on line 116.
Replace D_{vol}, R_{peak}, L_{lat} with D_{\text{vol}},
R_{\text{peak}}, L_{\text{lat}} in all QMD files and notation.qmd
to match the canonical notation convention. Also escape bare
FLOPs/$ to FLOPs/\$ in vol1 introduction. 288 replacements
across 24 files.
Vol 1 owns its notation (vol1/frontmatter/notation.qmd) as a
standalone document free of distributed systems concepts. Vol 2
(vol2/frontmatter/notation.qmd) uses {{< include >}} to pull in
Vol 1's notation, then adds distributed systems notation on top.
This eliminates duplication while keeping Vol 1 independent of
Vol 2's publication timeline.
- Remove shared/notation.qmd (single shared file)
- Create vol1/frontmatter/notation.qmd (core ML systems notation)
- Create vol2/frontmatter/notation.qmd (extends Vol 1 via include)
- Update all 8 config files to point to volume-specific paths
- Remove contents/shared/ render glob from HTML configs
Remove baremetal workflow usage and add explicit Linux/Windows preflight toolchain checks so missing dependencies fail immediately before render.
FP8 is a data format relevant to single-node systems (H100 supports it natively), so it belongs in Vol 1's precision list rather than as an orphaned bullet in Vol 2. Network throughput units (Gbps vs GB/s) remain Vol 2-only under a proper "Additional Units" subsection.
Eliminates the `llms-txt` configuration option from the Quarto website settings. This directive is no longer relevant or required for the site's operation, simplifying the overall configuration.
Add explicit per-check preflight logging and matrix failure instance reporting in the container build workflow, and update stale documentation links and workflow/file path references.
Adds a utility script to enforce proper Markdown list rendering. This addresses an issue where Quarto/Pandoc might incorrectly parse lists as paragraph continuations if not preceded by a blank line. Applies this formatting fix across all Quarto files by inserting the necessary blank lines.
Allow reusable container workflow status queries from the caller and fix a stylesheet spelling issue required by pre-commit checks.
Contributor
|
Manually merged it in to |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TikZ figures 7.3, 7.4, and 7.5 have been updated.