Skip to content

Registered Functions — GPU Support Overview

Legend

  • Supported: GPU acceleration available (native, parameter-enabled, or auto-enabled by environment).
  • Not supported: CPU-only implementation.
  • To enable GPU, initialize the environment first if needed: ov.settings.gpu_init() (RAPIDS) or ov.settings.cpu_gpu_mixed_init() (mixed). Actual GPU usage also depends on whether dependencies are installed with GPU support.

Settings

  • ov.settings.gpu_init: Initialize RAPIDS/GPU mode.
  • ov.settings.cpu_gpu_mixed_init: Initialize CPU–GPU mixed mode.

Preprocessing (ov.pp)

  • ov.pp.anndata_to_GPU: Move AnnData to GPU (RAPIDS).
  • ov.pp.anndata_to_CPU: Move data back to CPU.
  • ov.pp.preprocess: End-to-end preprocessing (gpu rapids).
    • mode='shiftlog|pearson'
      • normalize_total/log1p (gpu rapids).
      • HVGs = pearson_residuals (gpu rapids).
    • mode='pearson|pearson'
      • normalize_pearson_residuals (gpu rapids).
      • HVGs = pearson_residuals (gpu rapids).
  • ov.pp.scale: Scaling (gpu rapids).
  • ov.pp.pca: PCA (gpu rapids | cpu-gpu-mixed[torch|mlx]).
  • ov.pp.neighbors: KNN graph (by method).
    • method='umap' (UMAP-based neighbor estimation, CPU).
    • method='gauss' (Gaussian kernel, CPU).
    • method='rapids' (gpu rapids).
  • ov.pp.umap: UMAP (by implementation).
    • Scanpy UMAP (settings.mode='cpu').
    • RAPIDS UMAP (settings.mode='gpu', gpu rapids).
    • PyMDE/torch path (settings.mode='cpu-gpu-mixed', cpu-gpu-mixed[torch]).
  • ov.pp.qc: Quality control (gpu rapids | cpu-gpu-mixed[torch]).
  • ov.pp.score_genes_cell_cycle: Cell cycle scoring.
  • ov.pp.sude: SUDE dimensionality reduction (cpu-gpu-mixed[torch]).

Utils (ov.utils)

  • ov.utils.mde: Minimum Distortion Embedding (all[torch]).
  • ov.utils.cluster: Multi-algorithm clustering (per algorithm below).
    • Leiden (cpu[igraph]cpu-gpu-mixed[pyg]).
    • Louvain (Scanpy, CPU).
    • KMeans (scikit-learn, CPU).
    • GMM/mclust (scikit-learn, CPU).
    • mclust_R (R package mclust, CPU).
    • schist (schist library, CPU).
    • scICE (currently invoked with use_gpu=False).
  • ov.utils.refine_label: Neighborhood voting label refinement.
  • ov.utils.weighted_knn_trainer: Train weighted KNN.
  • ov.utils.weighted_knn_transfer: Weighted KNN label transfer.

Single-cell (ov.single)

  • ov.single.batch_correction: Batch correction (per method below).
    • harmony (Harmony, CPU).
    • combat (Scanpy Combat, CPU).
    • scanorama (Scanorama, CPU).
    • scVI (all[torch]).
    • CellANOVA (CPU).
  • ov.single.MetaCell: SEACells (all[torch]).
  • ov.single.TrajInfer: Trajectory inference (per method below).
    • palantir (CPU).
    • diffusion_map (CPU).
    • slingshot (CPU).
  • ov.single.Fate: TimeFateKernel (all[torch]).
  • ov.single.pyCEFCON: CEFCON driver discovery (all[torch]).
  • ov.single.gptcelltype_local: Local LLM annotation (all[torch]).
  • ov.single.cNMF: cNMF (CPU implementation).
  • ov.single.CellVote: Multi-method voting.
  • scsa_anno (SCSA, CPU).
  • gpt_anno (online GPT, CPU/network).
  • gbi_anno (GPTBioInsightor, CPU/network).
  • popv_anno (PopV, CPU).
  • ov.single.gptcelltype: Online GPT annotation.
  • ov.single.mouse_hsc_nestorowa16: Load dataset.
  • ov.single.load_human_prior_interaction_network: Load prior network.
  • ov.single.convert_human_to_mouse_network: Cross-species symbol conversion.

Spatial (ov.space)

  • ov.space.pySTAGATE: STAGATE spatial clustering (all[torch]).
  • ov.space.clusters: Multi-method spatial clustering (per method below).
    • STAGATE (all[torch]).
    • GraphST (all[torch]).
    • CAST (all[torch]).
    • BINARY (all[torch]).
  • ov.space.merge_cluster: Merge clusters.
  • ov.space.Cal_Spatial_Net: Build spatial neighbor graph.
  • ov.space.pySTAligner: STAligner integration (all[torch]).
  • ov.space.pySpaceFlow: SpaceFlow spatial embedding (all[torch]).
  • ov.space.Tangram: Tangram deconvolution (per mode below).
    • mode='clusters' (all[torch]).
    • mode='cells' (all[torch]).
  • ov.space.svg: Spatially variable genes (stats-based, not explicit GPU).
  • ov.space.CAST: CAST integration (all[torch]).
  • ov.space.crop_space_visium: Crop spatial image/coordinates.
  • ov.space.rotate_space_visium: Rotate spatial image/coordinates.
  • ov.space.map_spatial_auto: Auto mapping (per method below).
    • method='torch' (all[torch]).
    • method='phase' (NumPy, CPU).
    • method='feature' (feature-based matching, CPU).
    • method='hybrid' (hybrid pipeline, CPU).
  • ov.space.map_spatial_manual: Manual offset mapping.
  • ov.space.read_visium_10x: Read Visium data.
  • ov.space.visium_10x_hd_cellpose_he: H&E segmentation (gpu=True).
  • ov.space.visium_10x_hd_cellpose_expand: Label expansion.
  • ov.space.visium_10x_hd_cellpose_gex: GEX segmentation/mapping (gpu=True).
  • ov.space.salvage_secondary_labels: Merge labels.
  • ov.space.bin2cell: Bin-to-cell conversion.

External (ov.external)

  • ov.external.GraphST.GraphST: GraphST (device supports GPU).
  • ov.bulk.pyWGCNA: WGCNA (CPU implementation).

Plotting (ov.pl)

  • ov.pl.* (_single/_bulk/_density/_dotplot/_violin/_general/_palette): plotting APIs.

Bulk (ov.bulk)

  • ov.bulk.* (_Deseq2/_Enrichment/_combat/_network/_tcga): statistics, enrichment, and network analysis.