From c9ba33f09ec47c335523b93c4c0e8c6ce13f039a Mon Sep 17 00:00:00 2001 From: Intron7 Date: Thu, 15 Jan 2026 14:38:04 +0100 Subject: [PATCH] add copys to dask normalize --- src/rapids_singlecell/preprocessing/_normalize.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/rapids_singlecell/preprocessing/_normalize.py b/src/rapids_singlecell/preprocessing/_normalize.py index 0cc7df53..94be6c51 100644 --- a/src/rapids_singlecell/preprocessing/_normalize.py +++ b/src/rapids_singlecell/preprocessing/_normalize.py @@ -125,6 +125,7 @@ def _normalize_total_dask(X: DaskArray, target_sum: int) -> DaskArray: mul_kernel.compile() def __mul(X_part): + X_part = X_part.copy() mul_kernel( (math.ceil(X_part.shape[0] / 32),), (32,), @@ -140,6 +141,7 @@ def __mul(X_part): mul_kernel.compile() def __mul(X_part): + X_part = X_part.copy() mul_kernel( (math.ceil(X_part.shape[0] / 128),), (128,), @@ -267,17 +269,7 @@ def log1p( if not inplace: X = X.copy() - """ - if isinstance(X, cp.ndarray): - X = cp.log1p(X) - elif sparse.issparse(X): - X = X.log1p() - elif isinstance(X, DaskArray): - if isinstance(X._meta, cp.ndarray): - X = X.map_blocks(lambda x: cp.log1p(x), meta=_meta_dense(X.dtype)) - elif isinstance(X._meta, sparse.csr_matrix): - X = X.map_blocks(lambda x: x.log1p(), meta=_meta_sparse(X.dtype)) - """ + X = _calc_log1p(X) adata.uns["log1p"] = {"base": None} if inplace: