You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
load_and_normalize (src/vsparse/_rapid_load.py) is the one entry point real callers actually use today, and it's the one place the current
fully-materializing behavior is directly user-visible. Building a streaming executor (#39 ) doesn't help anyone until this function, or a
clearly-documented streaming replacement for it ,actually uses it.
Decide on the migration story. In other words, does load_and_normalize change behavior in place (same signature, now streaming under the hood, with a memory-budget kwarg), or does it stay as the "decode everything" fast path for callers who know their data fits, with a new streaming-first entry point alongside it?
Acceptance criteria
The full parafac2-style pipeline (filter, normalize, feed to a matmul-consuming caller) runs under a defined memory ceiling on a dataset large enough that the current implementation would not.
Existing tests/test_rapid_load.py behavioral guarantees still hold.
README/docs are updated to point at whichever function is now the recommended atlas-scale entry point.
load_and_normalize(src/vsparse/_rapid_load.py) is the one entry point real callers actually use today, and it's the one place the currentfully-materializing behavior is directly user-visible. Building a streaming executor (#39 ) doesn't help anyone until this function, or a
clearly-documented streaming replacement for it ,actually uses it.
Proposed scope
load_and_normalize's filter/normalize pipeline on top of Implement a streaming executor with prefetch and a memory budget #39 's streaming executor, preserving its existing numerical contract(validated to 0.0 absolute error against recomputation).
load_and_normalizechange behavior in place (same signature, now streaming under the hood, with a memory-budget kwarg), or does it stay as the "decode everything" fast path for callers who know their data fits, with a new streaming-first entry point alongside it?Acceptance criteria
parafac2-style pipeline (filter, normalize, feed to a matmul-consuming caller) runs under a defined memory ceiling on a dataset large enough that the current implementation would not.tests/test_rapid_load.pybehavioral guarantees still hold.References
src/vsparse/_rapid_load.py,README.md(load_and_normalizesection).