Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
b954a84
docs: add benchmarks, correctness, and update README; feat: add error…
yash27-lab Apr 16, 2026
df20dd9
Overhaul into a correctness-first, verified Metal inference engine
yash27-lab Jun 28, 2026
b320808
ci: fix unused_mut on non-macOS build
yash27-lab Jun 28, 2026
d52ab77
Add from-scratch GPT-2 inference: BPE tokenizer, Metal kernels, text …
yash27-lab Jun 29, 2026
6627021
docs: remove emojis from README
yash27-lab Jun 29, 2026
cbdead1
Document runtime requirements
yash27-lab Jul 28, 2026
c0dc3ea
docs: add quick troubleshooting guide
yash27-lab Jul 31, 2026
675d110
docs: link troubleshooting guide from README
yash27-lab Aug 1, 2026
9046ffa
docs: clarify CPU backend quickstart
yash27-lab Aug 2, 2026
fb6796b
docs: add test command reference
yash27-lab Aug 3, 2026
6bdaab0
docs: add documentation index
yash27-lab Aug 4, 2026
cc48d63
docs: link documentation index from README
yash27-lab Aug 5, 2026
90d2ba5
docs: add formatting check to test reference
yash27-lab Aug 6, 2026
504b229
docs: add CPU-only preflight guidance
yash27-lab Aug 7, 2026
88fece5
docs: add contributor quickstart
yash27-lab Aug 8, 2026
2dcb53a
docs: link contributor guide from docs index
yash27-lab Aug 9, 2026
3fcb434
docs: link contributor guide from README
yash27-lab Aug 10, 2026
2bad777
docs: clarify contributor preflight requirements
yash27-lab Aug 10, 2026
5b4338d
docs: add formatting remediation guidance
yash27-lab Aug 11, 2026
6403ebb
docs: clarify test command working directory
yash27-lab Aug 12, 2026
3e087f5
docs: add validation quickstart to docs index
yash27-lab Aug 13, 2026
4042035
docs: note rustfmt requirement for format check
yash27-lab Aug 14, 2026
d4ff36d
docs: add pull request template
yash27-lab Aug 15, 2026
75e4ece
docs: add rustfmt troubleshooting note
yash27-lab Aug 16, 2026
54226f1
docs: clarify benchmark result scope
yash27-lab Aug 17, 2026
e94df9b
docs: clarify non-macOS crate support
yash27-lab Aug 18, 2026
c76ab8e
docs: describe public tokenizer module
yash27-lab Aug 19, 2026
7e62908
docs: describe public reference ops module
yash27-lab Aug 20, 2026
4d4c602
docs: describe public loader module
yash27-lab Aug 21, 2026
9e3d2fb
docs: describe public tensor module
yash27-lab Aug 22, 2026
b3824eb
docs: describe public model module
yash27-lab Aug 23, 2026
f048dda
docs: describe public GPT-2 module
yash27-lab Aug 24, 2026
91d5af1
docs: describe public inference engine module
yash27-lab Aug 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## Summary

Describe the change and why it is needed.

## Validation

- [ ] `cargo fmt --check`
- [ ] `cargo test --lib`
- [ ] Metal parity check run when applicable (`cargo test --test parity -- --nocapture`)
- [ ] End-to-end GPT-2 check run when applicable (`cargo test --test gpt2_e2e -- --nocapture`)
48 changes: 48 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: CI

on:
push:
branches: [main]
pull_request:

env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -D warnings

jobs:
# Portable path: the CPU reference, loader, model, and async engine build and
# test on Linux (the Metal backend is cfg'd out on non-macOS targets).
lint-and-test:
name: fmt + clippy + test (ubuntu)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
- name: rustfmt
run: cargo fmt --all -- --check
- name: clippy
run: cargo clippy --all-targets
- name: test (CPU)
run: cargo test --lib

# Apple Silicon: full build incl. Metal kernels + CPU unit tests. The on-device
# CPU↔Metal parity suite (`cargo test --test parity`) needs a Metal device and
# is run locally; see docs/correctness.md.
macos-build:
Comment on lines +16 to +34
name: build + test (macos)
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- name: clippy (incl. Metal backend)
run: cargo clippy --all-targets
- name: build
run: cargo build --release --all-targets
- name: test (CPU unit tests)
run: cargo test --lib
Comment on lines +35 to +48
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# Rust
/target
Cargo.lock

# Python
venv/
__pycache__/
*.pyc

# ML Weights & Data
# ML Weights & Data (don't commit large binaries; generate them locally)
*.safetensors
*.bin
*.pt
*.ckpt

# MacOS
.DS_Store
models/
12 changes: 12 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Contributing

Small, focused changes are easiest to review. Before opening a pull request, run the checks that match the code you changed:

```bash
cargo fmt --check
cargo test --lib
```

If the formatting check reports changes, run `cargo fmt`, review the diff, then run the check again.

The formatting and library-test preflight is CPU-only and needs no model assets. Metal parity checks require Apple Silicon macOS, and the end-to-end GPT-2 check requires the downloaded model assets. See the [test command reference](docs/test-matrix.md) for the complete matrix and [troubleshooting guide](docs/troubleshooting.md) for setup notes.
Loading
Loading