This is the single largest gap between the current repository and the project's actual thesis. There is no out-of-core execution model anywhere in src/vsparse/ today. load_and_normalize fully decodes the entire index stream into RAM before doing anything with it, so its peak memory scales with total dataset size rather than a bounded working set. On a large cohort this can run to tens of GiB.
Proposed scope
- A chunked execution model with prefetch:
src/vsparse/ gains a real streaming path, built and tested as library code (not a one-off script). - A user-settable memory budget that bounds the working set regardless of dataset size.
- Double-buffered prefetch so chunk decode overlaps with kernel execution.
- Every terminal reduction (sum, mean, variance, per-cell/per-gene statistics) reimplemented as a streaming accumulator over chunks, rather than requiring the full decoded array.
Acceptance criteria
References
src/vsparse/_rapid_load.py (load_and_normalize).
This is the single largest gap between the current repository and the project's actual thesis. There is no out-of-core execution model anywhere in
src/vsparse/today.load_and_normalizefully decodes the entire index stream into RAM before doing anything with it, so its peak memory scales with total dataset size rather than a bounded working set. On a large cohort this can run to tens of GiB.Proposed scope
src/vsparse/gains a real streaming path, built and tested as library code (not a one-off script).Acceptance criteria
X @ Omega,B @ X, and norm computations.References
src/vsparse/_rapid_load.py(load_and_normalize).