Skip to content

Commit cb935d0

Browse files
alxmrsclaude
andcommitted
Require einfold 0.1.0rc2, and install the test extra for the ML demos
einfold 0.1.0rc2 allocates large blocks with the system's allocator, so fused attention at 32,768 tokens peaks 0.1 GB lower than on rc1 (xqlsystems/einfold#119). The ml demos job installs the test extra too, as review asked. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NyN7idACeDMh94qrnFMu6h
1 parent 8a7aa90 commit cb935d0

6 files changed

Lines changed: 13 additions & 13 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ jobs:
114114
enable-cache: true
115115

116116
- name: Install xarray_sql
117-
run: uv sync --dev --no-install-package xarray-sql
117+
run: uv sync --dev --extra test --no-install-package xarray-sql
118118
- name: build rust
119119
run: uv run --no-project maturin develop --uv
120120
- name: Run the demos

‎benchmarks/ml/01_attention.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# dependencies = [
44
# "xarray-sql[ml,duckdb]",
55
# "ddxdb[duckdb]",
6-
# "einfold[datafusion]>=0.1.0rc1",
6+
# "einfold[datafusion]>=0.1.0rc2",
77
# "jax",
88
# ]
99
#

‎benchmarks/ml/02_nanogpt.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# dependencies = [
44
# "xarray-sql[ml,duckdb]",
55
# "ddxdb[duckdb]",
6-
# "einfold[datafusion]>=0.1.0rc1",
6+
# "einfold[datafusion]>=0.1.0rc2",
77
# "jax",
88
# ]
99
#

‎benchmarks/ml/README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ with ddxdb 0.3.2, before ddx differentiated the masked product as
195195
`jax.grad` does.
196196

197197
**einfold finds FlashAttention's plan.** Measured on 2026-10-29 with
198-
einfold 0.1.0rc1, ddxdb 0.4.6, DataFusion 55.0.0 and DuckDB 1.5.6. Both
198+
einfold 0.1.0rc2, ddxdb 0.4.6, DataFusion 55.0.0 and DuckDB 1.5.6. Both
199199
spellings of attention, and the Nadaraya–Watson control, run as one of
200200
einfold's fused pipelines. It computes 64 × 64 tiles of scores one at a
201201
time and keeps a running softmax, and it never visits a pair of tiles the
@@ -210,7 +210,7 @@ by a rule that mentions no attention. Demo 1 checks that each runs fused.
210210
(Each range covers the two spellings.)
211211

212212
- **Memory:** at 32,768 tokens the scores would take 4.3 GB. The forward
213-
pass takes 1.8 s, and the process's peak memory grows by 0.52 GB.
213+
pass takes 1.8 s, and the process's peak memory grows by 0.42 GB.
214214
- **Determinism:** its results are the same bits on 1 and on 12 threads.
215215
- **The gradient isn't fused yet.** einfold runs ddx's backward
216216
contractions as array algorithms, which about halves their time, but the

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ dev = [
143143
"ddxdb[duckdb]>=0.4.6,<0.5; sys_platform != 'emscripten'",
144144
# TODO(xqlsystems/einfold#118): install einfold on Windows too, once
145145
# it publishes a Windows wheel; until then it would build from source.
146-
"einfold[datafusion]>=0.1.0rc1,<0.2; sys_platform != 'emscripten' and sys_platform != 'win32'",
146+
"einfold[datafusion]>=0.1.0rc2,<0.2; sys_platform != 'emscripten' and sys_platform != 'win32'",
147147
# jaxlib publishes no wheels for Intel macOS, so the demos skip there.
148148
"jax; sys_platform != 'darwin' or platform_machine != 'x86_64'",
149149
]

‎uv.lock‎

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)