Skip to content

Commit eff7709

Browse files
lwwmanningclaude
andcommitted
[RFC 60] Renumber to match PR; reframe as standalone (not rewrite)
RFC 33 was never accepted, so this RFC takes the number of its own PR (60) and stands on its own against the current state of develop. The previous abandoned draft on PR #51 is not part of this RFC's history. Changes: - Rename rfcs/0033-block-turboquant.md → rfcs/0060-block-turboquant.md (RFC number must match PR number per the rfcs repo convention). - Update frontmatter to the rfcs template style (Start Date, Authors, RFC PR link). New Start Date is 2026-05-12; the rewrite-history line is dropped since there is no prior accepted RFC to rewrite. - Strip "this rewrite supersedes the original RFC 33" framing. The Summary now anchors the design to the current vortex-turboquant code on develop and the algorithm-family prior art (TurboQuant, EDEN, DRIVE), without invoking the abandoned draft. - Rename "Resolved during this rewrite" → "Resolved during initial drafting." Signed-off-by: Will Manning <will@willmanning.io> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Will Manning <will@willmanning.io>
1 parent cb21716 commit eff7709

1 file changed

Lines changed: 20 additions & 21 deletions

File tree

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Block-Decomposed TurboQuant: a Lossy Extension Type with PDX Layout
22

3-
**Authors:** @lwwmanning, @connortsui20
4-
**Status:** Proposal
5-
**Date:** 2026-04-02 (rewritten 2026-05-12; citations corrected 2026-05-12)
3+
- Start Date: 2026-05-12
4+
- Authors: @lwwmanning, @connortsui20
5+
- RFC PR: [vortex-data/rfcs#60](https://github.com/vortex-data/rfcs/pull/60)
66

77
## Summary
88

@@ -35,17 +35,16 @@ decision below:
3535
recompression by the default cascade compressor, and no "approximate" flag —
3636
the encoding is lossy by definition.
3737

38-
This rewrite supersedes the original RFC 33 draft, which was written against an
39-
earlier monolithic `TurboQuantArray` design that has since been replaced by the
40-
extension-type model on `vortex-data/vortex` `develop` (PR #7829, merged
41-
2026-05-07). It also incorporates a piece of prior art the original RFC missed:
42-
the **EDEN paper** [15] ([arXiv:2108.08842], ICML 2022) and its predecessor
43-
**DRIVE** [16] ([arXiv:2105.08339], NeurIPS 2021) predate TurboQuant [1]
44-
([arXiv:2504.19874]). A recent note by the EDEN authors [14]
45-
([arXiv:2604.18555], April 2026) demonstrates that TurboQuant is a suboptimal
46-
special case of the same RHT + Lloyd-Max scalar quantizer family. We adopt
47-
EDEN's contributions while keeping the codebase's TurboQuant branding;
48-
see §4 "Naming."
38+
This RFC is anchored to the current state of the `vortex-data/vortex`
39+
`develop` branch — specifically the extension-type implementation in the
40+
standalone `vortex-turboquant` crate (PR #7829, merged 2026-05-07). The
41+
algorithm sits in a family that includes **EDEN** [15] ([arXiv:2108.08842],
42+
ICML 2022) and its predecessor **DRIVE** [16] ([arXiv:2105.08339],
43+
NeurIPS 2021); both predate TurboQuant [1] ([arXiv:2504.19874]). A recent
44+
note by the EDEN authors [14] ([arXiv:2604.18555], April 2026) shows that
45+
TurboQuant is a special case of EDEN with a suboptimal fixed scale `S = 1`.
46+
We adopt EDEN's contributions while keeping the codebase's TurboQuant
47+
branding; see §4 "Naming."
4948

5049
[arXiv:2108.08842]: https://arxiv.org/abs/2108.08842
5150
[arXiv:2105.08339]: https://arxiv.org/abs/2105.08339
@@ -210,7 +209,7 @@ correlation tests.
210209

211210
### Relationship to EDEN and DRIVE
212211

213-
The original RFC 33 missed an important piece of prior art. **EDEN** [15]
212+
An important piece of prior art for this design family is **EDEN** [15]
214213
(Vargaftik et al., ICML 2022; [arXiv:2108.08842]) and its predecessor
215214
**DRIVE** [16] (NeurIPS 2021; [arXiv:2105.08339]) use the same building blocks
216215
as TurboQuant — Randomized Hadamard Transform plus Lloyd–Max scalar
@@ -1304,8 +1303,8 @@ with the column's metadata.
13041303
SORF at B dimensions (heuristic; real cost is dominated by memory
13051304
bandwidth and constant factors): `R · B · log₂(B)` butterflies + `R · B`
13061305
sign applications per block. The per-vector normalization multiplies
1307-
(`B` per block) are omitted from these counts as in the original RFC 33;
1308-
they amortize against memory bandwidth in practice. For Stage 1 with
1306+
(`B` per block) are omitted from these counts; they amortize against
1307+
memory bandwidth in practice. For Stage 1 with
13091308
padded_dim and 3 rounds:
13101309

13111310
| padded_dim | SORF FLOPs | k | Total per-vector FLOPs |
@@ -2258,11 +2257,11 @@ work, not blockers on the design:
22582257
d < 128 by a new writer would be rejected by an old reader. Surface
22592258
this in the migration plan when the experiment lands.
22602259

2261-
### Resolved during this rewrite
2260+
### Resolved during initial drafting
22622261

2263-
The following questions were live during the first draft of the rewrite
2264-
and have been resolved here. Recording the resolutions so future readers
2265-
don't re-litigate.
2262+
The following questions were considered during the design and have been
2263+
resolved here. Recording the resolutions so future readers don't
2264+
re-litigate.
22662265

22672266
- **Norm storage shape uniformity (Stage 2)** — resolved in favor of
22682267
`Primitive<element_ptype>` when `num_blocks == 1` (matches Stage 1

0 commit comments

Comments
 (0)