GPU-accelerated single-cell analysis components for reproducible and large-scale single-cell processing using Viash and Nextflow.
OpenPipeline Rapids extends the OpenPipeline ecosystem with GPU-enabled components and workflows built on top of rapids-singlecell. The structure of this package mirrors the rapids-singlecell Python package, and many components replicate their core OpenPipeline CPU equivalents with compatible interfaces so they can be swapped in 1:1 to accelerate existing pipelines on NVIDIA GPUs.
OpenPipeline Rapids provides GPU-accelerated implementations of common single-cell processing steps as standalone components with a standardized interface, along with wrappers that let you choose between the CPU (upstream OpenPipeline) and GPU (rapids-singlecell) implementation at runtime.
The following functionality is provided:
- Preprocessing: QC metric calculation, cell and gene filtering, doublet detection (Scrublet), total-count normalization, log1p transformation, scaling, regressing out unwanted variation, highly variable gene selection, PCA, neighbor graph construction, and batch integration (Harmony, BBKNN).
- Tools: Clustering (Leiden) and dimensionality reduction / embedding (UMAP, t-SNE).
- Spatial: Spatial autocorrelation statistics (Squidpy) for spatial omics data.
- Wrappers: Drop-in CPU/GPU variants of the components and workflows above, exposing a
--device_typeswitch so the same pipeline step can run on CPU or GPU without changing its interface.
This package only provides GPU-accelerated components; it is designed to work seamlessly with the core OpenPipeline package. Because the components share compatible interfaces with their CPU counterparts, they can be dropped into existing OpenPipeline workflows to accelerate individual steps, and all core OpenPipeline workflows and components can be used in conjunction with the GPU-accelerated ones.
The components run on NVIDIA GPUs only. Execution requires:
- An NVIDIA GPU with the NVIDIA Container Toolkit installed (the executable runner passes
--gpus allto Docker). - Components target x86_64 + CUDA 13. The base image is
nvidia/cuda:13.1.2-runtime-ubuntu24.04, with the RAPIDS stack (cudf,cuml,cugraph,cuvs,rapids-singlecell) installed from NVIDIA's package index.
The openpipeline_rapids package is available via Viash Hub, where you can find instructions on how to run the workflows and individual components.
- Navigate to the Viash Hub package page, select the workflow or component you want to launch and click the
launchbutton. - Select the execution environment of choice (e.g.
Seqera Cloud,CLIorExecutable). - Fill in the form with the required parameters and launch the workflow.
For issues specific to GPU-accelerated components, please use the GitHub issues tracker. For general OpenPipeline questions, refer to the main OpenPipeline documentation.