Changelog
Source:NEWS.md
cudacellr 0.4.0.9000
- Native CUDA PCA preparation preserves selected counts as a sparse matrix through upload, avoiding the dense host matrix and its transposed copy. PCA still uses float64 dense working storage on the GPU. CPU and torch preparation and public return objects are unchanged. Inputs smaller than 1 MiB retain the dense path to avoid sparse setup overhead.
- Invalid PCA component counts are rejected before preparing the selected input matrix. The development version requires cudaverse 0.4.2.
- Added pinned synthetic/PBMC benchmarks, numerical and performance gates, CUDA transfer traces, and a measured performance/memory guide. The validated sparse 50,000-cell case reduced peak host memory by 80.9%; PBMC by 25.1%.
cudacellr 0.4.0
Normalize very small positive libraries without overflowing an intermediate scale factor, and reject non-finite library totals.
Reject component and feature counts beyond the supported integer range with an informative error before integer conversion.
Replaces the former
cudatensr,cudasparsr, andcudalearnrdependencies with the unifiedcudaversepackage.Preserves all existing single-cell workflow and adapter entry points.
Keeps
cuda_provenance()as a re-export of the canonical cudaverse generic.
cudacellr 0.3.0
- Added
cudacell_seurat()for a native Seurat v5 workflow using only the optionalSeuratObject (>= 5.0.0)package. It writes normalized expression and feature statistics to anAssay5, PCA results to aDimReduc, exact kNN results to aNeighbor, size factors to cell metadata, and parameters and compute provenance to a deterministic tool record. - Seurat output names and keys are checked for cross-type collisions before device selection, layer realization, or computation. Existing object state is preserved, and
overwrite = TRUEreplaces only explicitly named cudacellr outputs. - Non-memory-backed Seurat layers are never realized silently.
realize = TRUEexplicitly opts into an in-memory sparse realization and records the original class and materialization decision. - Added
cudacell_sce()for a native, non-destructiveSingleCellExperimentworkflow. Normalized expression, PCA, HVG statistics, kNN relationships, and compute provenance are written to the corresponding assay, reduced dimension,rowData,colPair, and metadata locations. - Existing assays, row and column metadata, reduced dimensions, alternative experiments, pairings, canonical size factors, labels, and user metadata are preserved. Output collisions fail before computation unless explicitly replaced with
overwrite = TRUE. - Delayed assays are never materialized silently.
realize = TRUEis required to opt into an in-memory sparse realization. -
cuda_provenance()now dispatches through the shared cudaverse S3 generic and reads the ordered computation record directly fromSingleCellExperimentand Seurat objects produced by cudacellr. -
cuda_cell_pca()andcudacell_workflow()now expose normalizationscale_factor,log1p, andmin_meancontrols; the complete workflow also exposes PCA scaling throughscale..
cudacellr 0.2.0
- Normalization, HVG selection, PCA, and kNN now compose into one ordered
cudaverse-stage/1provenance record, including upstream sparse materialization. -
cudacell_workflow()reports its aggregate CPU/CUDA/hybrid compute device, and its print method no longer implies that the PCA device represents the complete workflow. - Strict CUDA requests are validated before CPU preprocessing begins, avoiding expensive work before an unavailable-device error.
- Re-exported
cuda_provenance()as the common inspector for single-cell results.
cudacellr 0.1.2
- Feature and cell identifiers now survive normalization, HVG selection, PCA, kNN, and the complete workflow. HVG results retain original feature indices, including when feature names are duplicated.
- Added a concise
print()method for workflow results and strict validation of thelog1pflag.
cudacellr 0.1.1
-
cuda_cell_neighbors()andcudacell_workflow()now exposebatch_size, using the bounded-memory exact kNN implementation incudalearnr. -
cudacell_workflow()now reuses its normalized matrix and variable-feature result for PCA instead of performing both preprocessing stages twice.