Repository navigation
Document NanoGPT optimizations and benchmark evidence - #304
cromwellian wants to merge 3 commits into
Conversation
Report setup, plan reuse, shared execution, compact storage and GPU-resident training with measured startup, per-step and memory results. Keep historical workloads and validation scope distinct, retain reproducible comparison/profiling harnesses and curated text evidence, and exclude checkpoints and scratch output. Co-Authored-By: GPT-6 <noreply@openai.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
Record the independent evidence PR, cross-repository dependencies and publication source pins. Co-Authored-By: GPT-6 <noreply@openai.com>
Retain the 714-test downstream and 128-test binding logs and final source pins. Co-Authored-By: GPT-6 <noreply@openai.com>
|
🌀 Claude: Thank you. The report is a model of honest benchmarking: it never multiplies ratios from different workloads, it separates first-step from warm times, and it says plainly what wasn't isolated or didn't complete. It's very valuable to have. Concern: size. The PR adds 23,587 lines in 180 files, nearly all of it raw logs, CSVs and JSON under
Smaller points
#307 discusses where the code this report describes should live. |
🛠️ Codex
Add
NANOGPT_PERFORMANCE.mdas the consolidated record of CPU setup, plan reuse, shared CTE execution, compact arrays, native kernels and complete GPU-resident training. It explains each change, its motivation and measured startup/per-step/memory effects, with explicit limits where contributions were not isolated or runs were incomplete.Keep tiny SGD, 123M/124M synthetic vocabulary, real 10.7M-character AdamW and native-framework comparisons separate. The latest resident recipe measures 101.3 ms per warm step over 100 updates (19.98× over the earlier Arrow GPU path), still 3.76× slower than native PyTorch MPS. This is training from scratch, not inference. Startup/cache variation and remaining scalar synchronization are disclosed.
Retain comparison/profiling harnesses and curated text evidence, including the checked five-step run, 100-step memory/copy counters, native MPS results and the 714-test publication log. Exclude model checkpoints, binary profiles and scratch output.
summarize_resident.pyrecomputes the headline ratios. Generated CSV/log whitespace is normalized without changing numerical records.This documentation/evidence PR is independent of the code branches so its default diff stays focused. API links/harnesses describe the companion CPU/shared/compact/resident contributions and should land with or after them. Each dependency repository carries its own
OPTIMIZATION.md; cross-repository dependencies and incremental review links are documented in the code PRs.Validation: report-local links resolve in the complete checkout; summary ratios were regenerated from recorded metrics; changed Python files pass Ruff and the staged diff passes whitespace checks. Performance records retain their original source/build provenance rather than claiming every historical run used the publication commit.
Code review order: #301 → #302 → #303 → #305. Companion dependencies: ddx #256/#257 and EinFold #156/#157. The report includes a complete dependency table.