Skip to content

Commit acf08a4

Browse files
Add v0.3.0 release notes and gitignore benchmark archives
- Create comprehensive release notes documenting all v0.3.0 features - Add *.tar.gz to gitignore for benchmark archives - Remove tracked benchmarks_results_20260110_213051.tar.gz Co-Authored-By: Warp <agent@warp.dev>
1 parent 59660ca commit acf08a4

3 files changed

Lines changed: 182 additions & 0 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,4 @@ htmlcov/
5757

5858
# Benchmark results - timestamped outputs
5959
benchmarks/*/results/
60+
*.tar.gz
-4.73 KB
Binary file not shown.
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
# Release Notes - v0.3.0 Community Release
2+
3+
**Release Date:** 11 January 2026
4+
**Status:** Ready for community feedback
5+
6+
## Overview
7+
8+
v0.3.0 represents a major expansion of the MAX Learning repository, growing from 3 examples to 6 progressive examples with comprehensive testing, benchmarking, and documentation. This release transforms the repository from a focused DistilBERT demonstration into a complete learning path for MAX Graph API.
9+
10+
## What's New
11+
12+
### 🎯 Six Progressive Examples
13+
14+
1. **Element-wise Operations** - Basic ops (mul, add, relu)
15+
- ✅ Works on CPU and Apple Silicon GPU
16+
- Includes minimal and full versions
17+
18+
2. **Linear Layer** - Matrix operations (matmul, transpose, bias)
19+
- ✅ Works on CPU
20+
- ❌ Apple Silicon GPU (matmul kernel missing)
21+
- Includes minimal and full versions
22+
23+
3. **DistilBERT Sentiment** - Full transformer (66M parameters)
24+
- 🚀 5.58x speedup vs PyTorch on M1 CPU
25+
- Production-quality inference
26+
27+
4. **MLP Regression** - Multi-layer perceptron
28+
- 3 hidden layers
29+
- Housing price prediction
30+
- NEW in v0.3.0
31+
32+
5. **CNN MNIST** - Convolutional neural network
33+
- 2 conv + 2 dense layers
34+
- Digit classification
35+
- NEW in v0.3.0
36+
37+
6. **RNN Forecast** - Recurrent network
38+
- 🚧 WIP - Parked due to MAX Graph API limitations
39+
- NEW in v0.3.0
40+
41+
### ⭐ Minimal Examples
42+
43+
New self-contained minimal examples for element-wise and linear layer operations:
44+
- No configuration files
45+
- No helper functions
46+
- Pure MAX Graph API
47+
- Clear 4-step structure: Build → Compile → Run → Results
48+
- ~120-140 lines each
49+
- Perfect starting point for learning
50+
51+
### 🧪 Comprehensive Testing
52+
53+
- **49 tests** (up from 30)
54+
- Correctness validation for all examples
55+
- Tests mirror example structure:
56+
- `tests/python/01_elementwise/`
57+
- `tests/python/02_linear_layer/`
58+
- `tests/python/03_distilbert/`
59+
- `tests/python/03_mlp/`
60+
- `tests/python/04_cnn_mnist/`
61+
62+
### 📊 Enhanced Benchmarking
63+
64+
- **MAX vs PyTorch comparisons** for all neural network models
65+
- Correctness verification (max absolute error checks)
66+
- Reports in MD/JSON/CSV formats
67+
- Machine ID in filenames for multi-system tracking
68+
- New benchmarks:
69+
- `benchmarks/03_mlp/` - MLP vs PyTorch
70+
- `benchmarks/04_cnn/` - CNN vs PyTorch
71+
72+
### 📦 Package Restructuring
73+
74+
- All Python modules now installable via `src/python/pyproject.toml`
75+
- Eliminated ALL `sys.path` manipulation from codebase
76+
- Created `utils` package with:
77+
- `paths.py` - Project root detection via pixi.toml/.git search
78+
- `benchmark_utils.py` - Shared benchmarking utilities
79+
- Editable installs via pixi: `[pypi-dependencies]`
80+
- Version synchronised: pyproject.toml and pixi.toml both at 0.3.0
81+
82+
### 📚 Documentation Overhaul
83+
84+
- **README.md** completely rewritten:
85+
- Clear "Why This Repository?" section
86+
- All 6 examples documented in order (1️⃣-6️⃣)
87+
- Performance highlights (successes AND limitations)
88+
- Progressive learning path articulated
89+
- Repository structure expanded
90+
91+
- **Example READMEs updated**:
92+
- Document minimal vs full versions
93+
- Explain when to use each
94+
- Include expected output
95+
96+
- **Community announcements**:
97+
- Long version: comprehensive feature documentation
98+
- Short version: 120-word summary
99+
- Moved to `docs/planning/`
100+
101+
## Performance Results
102+
103+
### ✅ Where MAX Excels
104+
105+
**DistilBERT (M1 CPU, batch=1)**
106+
- MAX: 45.88ms mean
107+
- PyTorch: 255.85ms mean
108+
- **Result: 5.58x speedup** 🚀
109+
110+
### ⚠️ Where PyTorch is Faster
111+
112+
**MLP Regression (M1 CPU, batch=2048)**
113+
- MAX: 142ms
114+
- PyTorch: 0.56ms
115+
- Result: PyTorch ~253x faster
116+
117+
**CNN MNIST (M1 CPU, batch=256)**
118+
- PyTorch: ~5x faster than MAX
119+
- Note: Both produce identical predictions
120+
121+
**Takeaway:** MAX shines on transformers but PyTorch is faster on smaller workloads (MLP, CNN) on Apple Silicon.
122+
123+
### 🍎 Apple Silicon GPU Status
124+
125+
-**Element-wise operations working** (first reported MAX Graph GPU inference)
126+
-**Matrix operations blocked** - matmul kernel not available
127+
- Blocks: transformers, MLP, CNN on GPU
128+
129+
## Breaking Changes
130+
131+
None - this is a purely additive release.
132+
133+
## Migration Guide
134+
135+
If upgrading from v0.2.0:
136+
1. Run `pixi install` to install new package structure
137+
2. No code changes required - all examples remain compatible
138+
3. New examples are opt-in
139+
140+
## What's Next (v0.4.0 candidates)
141+
142+
- Larger models: LLaMA, Mistral via MAX Pipeline API
143+
- Batch inference optimisation
144+
- Quantisation experiments (INT8/INT4)
145+
- More GPU work when matmul kernels available
146+
147+
## Installation
148+
149+
```bash
150+
git clone https://github.com/DataBooth/max-learning
151+
cd max-learning
152+
pixi install
153+
154+
# Start with minimal examples
155+
pixi run python examples/python/01_elementwise/elementwise_minimal.py
156+
pixi run python examples/python/02_linear_layer/linear_layer_minimal.py
157+
```
158+
159+
## Requirements
160+
161+
- MAX 25.1.0 or later
162+
- Pixi package manager
163+
- Python 3.11+
164+
165+
## Contributors
166+
167+
This release was made possible by thorough testing, benchmarking, and documentation work.
168+
169+
## Acknowledgements
170+
171+
- [Modular](https://modular.com) for MAX Engine
172+
- [DataBooth](https://www.databooth.com.au) for sponsoring this learning exploration
173+
- Community for early feedback
174+
175+
## Licence
176+
177+
MIT Licence
178+
179+
---
180+
181+
**Full Changelog:** https://github.com/DataBooth/max-learning/compare/v0.2.0...v0.3.0

0 commit comments

Comments
 (0)