Product Information

Accelerating GPU Analytics Workflows with RAPIDS and Ray NEWS DETAIL

Current Position:Home > News and Insights
Category: News and Insights Author: Zhongke Xinyuan Content Reviewer: Zhongke Xinyuan Review Published: 2025-01-06 Updated: 2026-07-22 Source: Existing page; verify sources
Accelerating GPU Analytics Workflows with RAPIDS and Ray

RAPIDS and Ray can be combined to build GPU-accelerated analytics workflows in which Ray coordinates stateful Python workers and RAPIDS performs data processing or analytics on GPU-resident data. This pattern is most relevant when a workflow must distribute work across multiple GPUs or nodes while retaining control over data loading, memory handling, and collective communication.

Scenario: distributed GPU analytics beyond a single process

RAPIDS is an open-source collection of GPU-accelerated data science and AI libraries. The source describes its ability to scale through distributed engines such as Spark and Dask. Ray is an open-source distributed Python framework used to scale AI and machine-learning applications across CPU and GPU resources.

The integration described here uses Ray as a distributed execution layer for RAPIDS workloads. Rather than treating workers as stateless tasks, it uses Ray Actors: stateful workers that can retain, manage, and modify data during their lifetime. This is useful when each GPU worker needs to load a partition, preserve a communication handle, and execute multiple operations without repeatedly rebuilding local state.

Architecture path: Ray Actors with GPU-resident RAPIDS data

A basic design assigns one GPU to each Ray Actor. An actor can use cuDF to load Parquet data directly into a GPU DataFrame, with a pool of actors operating on separate data partitions. In the supplied example, four Actors are created for four GPUs.

  1. Initialize Ray and define an Actor with num_gpus=1.
  2. Have each Actor load its assigned file or partition through cuDF.
  3. Apply applicable ETL logic, such as filtering, custom functions, or user-defined functions.
  4. Coordinate the resulting partitions for a distributed RAPIDS algorithm when required.

This approach can also be combined with RAPIDS Memory Manager (RMM) configuration. The source establishes that RMM can be part of the optimization path, but it does not specify a required configuration, memory target, or expected performance result. Those settings should be evaluated against the data size, GPU memory capacity, and concurrent workload behavior of the project.

Distributed graph analytics: NCCL, RAFT, and cuGraph

For multi-GPU algorithms such as cuGraph weakly connected components (WCC), scheduling workers is only one part of the implementation. The source describes a pipeline in which data is loaded into GPU memory, NCCL communication is started, RAFT and its communication primitives are configured, a multi-GPU cuGraph object is created, and WCC is executed.

In this pattern, each Actor receives a data chunk and prepares the local source, destination, and weight arrays. A multi-GPU graph object is then constructed with the local edge-list data and the configured communication context. The source notes that cuGraph’s distributed GPU implementations are highly tuned CUDA C++ implementations that rely on accelerated communication through NCCL and primitives and solvers in RAFT.

Ray provides NCCL hooks, but the described WCC approach relies on the RAFT NCCL interface because cuGraph communication can be difficult to manage directly. The Actors therefore need coordinated rank information, a root unique ID broadcast from rank 0, NCCL setup, and a RAFT handle configured with NCCL before the distributed graph operation runs.

Implementation checkpoints and tradeoffs: Accelerating GPU Analytics Workflows with RAPIDS and Ray

  • GPU placement: confirm that each Ray Actor receives the intended GPU allocation and that the actor pool matches the available GPU resources.
  • Partition design: define how files or edge-list chunks are divided. Skewed partitions can leave some workers with more data or longer processing time.
  • Communication setup: establish ranks, root identity distribution, NCCL initialization, and RAFT configuration before launching a multi-GPU cuGraph operation.
  • Data locality: load and retain data in GPU memory where the operation will execute when the workflow permits it.
  • Failure handling: determine how actor restarts, lost state, and partially initialized collective communication will be handled in the target environment.

The source presents this as a Level 1 integration in which Ray Actors act as launchers for optimized CUDA C++ and NCCL-backed RAPIDS implementations. It does not establish that this design is appropriate for every workload, nor does it provide throughput, latency, cluster-size, compatibility, or fault-tolerance measurements.

FAQ

When are Ray Actors a good fit for RAPIDS workflows?

They are a practical fit when a worker needs persistent state, such as a GPU-resident data partition or a configured communication handle. The source also identifies Ray Actors as a flexible way to parallelize Python libraries and integrate distributed algorithms across multiple GPUs and nodes.

Can this pattern be used beyond cuGraph WCC?

The source states that the pattern applies to other RAPIDS libraries and refers to a cuML k-means implementation as an example. The exact API behavior, distributed requirements, and supported versions must be verified in dated official Ray, RAPIDS, RAFT, NCCL, cuGraph, and cuML documentation before implementation.

Conclusion

Use Ray Actors to organize GPU-bound RAPIDS workers, then add NCCL and RAFT coordination where a distributed RAPIDS algorithm requires collective communication. Start with GPU data loading and partition-level processing, validate communication and graph construction in a small project test, and confirm the complete software versions, hardware topology, and operational behavior against dated official documentation.

After reviewing Accelerating GPU Analytics Workflows with RAPIDS and Ray, continue with NVIDIA products and networking solutions for related evaluation paths.