Expand description
Lock-free parallel streaming pass over a SparseIoVec that yields a
merged SparseRunningStatistics<f32>.
Both HVG selection (hvg::select_hvg_streaming) and NB-Fisher
weighting (gene_weighting::compute_nb_fisher_weights) need the same
per-feature (npos, sum, sum_sq, n_cells) aggregates from a sparse
backend. Sharing the skeleton keeps the parallel / lock-free
invariants in one place and gives every caller a labelled progress
bar with consistent styling.
Functionsยง
- streaming_
sparse_ running_ stats - Stream cells through
data_vecinblock_sizechunks, accumulating per-feature NB sufficient statistics into oneSparseRunningStatisticsper rayon worker, then merge to one result. - streaming_
sparse_ running_ stats_ folded - The same pass, accumulating a second set of statistics on a folded axis.