NVIDIA/cudf-spark

NVIDIA cuDF for Apache Spark plugin - accelerate Apache Spark with GPUs

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 41 minutes ago
Added to GitGenius on March 11th, 2026
Created on May 14th, 2020
Open Issues & Pull Requests: 2,033 (+0)
Number of forks: 301
Total Stargazers: 996 (+0)
Total Subscribers: 42 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 14.8 hours
Mean response time: 37.7 days
90th percentile: 67.9 days
Tracked items: 2,054

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 9% of open issues come from outside the core team — the tracker reads mainly as internal planning. Work labelled "build" is answered fastest, typically in under an hour, while "Spark 4.0+" waits about 5 days. 50% of tracked open issues have had no activity in three months. Only 7% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 891
New in 7 days: 22
Closed in 7 days: 23
Avg open age: 403 days
Stale 30+ days: 764
Stale 90+ days: 672

Recent activity

Opened in 7 days: 16
Closed in 7 days: 16
Comments in 7 days: 16
Events in 7 days: 80

Top labels

  • bug (1,149)
  • feature request (503)
  • performance (219)
  • test (216)
  • task (153)
  • Spark 4.0+ (152)
  • ? - Needs Triage (145)
  • bot_watch (140)

Detailed Description

The RAPIDS Accelerator for Apache Spark is a plugin system that enables GPU acceleration of Apache Spark workloads through integration with NVIDIA's RAPIDS libraries. Written primarily in Scala, the project provides a comprehensive solution for organizations seeking to leverage GPU hardware to accelerate big data processing tasks that would otherwise run on CPUs. The plugin architecture allows users to transparently offload Spark SQL operations and dataframe computations to GPUs while maintaining compatibility with existing Spark applications.

The core functionality centers on SQL acceleration, with the plugin designed to produce results that are bit-for-bit identical to standard Apache Spark execution. This compatibility guarantee is critical for production environments where numerical precision and consistency matter. The project includes detailed operator compatibility documentation that specifies which Spark operations can be GPU-accelerated and under what conditions. Configuration is handled through a set of Spark-specific parameters documented in the repository, allowing users to control plugin behavior and tune performance characteristics for their specific workloads.

These metrics indicate an actively maintained project with strong community engagement and rapid issue resolution.

The repository provides multiple entry points for users, including a getting started guide, comprehensive tuning documentation, and a download page for pre-built JAR files. For developers building from source, the project includes detailed build instructions in the contributing guide. Testing infrastructure is documented separately, reflecting the complexity of validating GPU-accelerated operations across different hardware configurations.

Integration capabilities extend beyond Spark itself. The plugin provides APIs for zero-copy data transfer to other GPU-enabled applications, with active work underway to integrate with XGBoost for machine learning workflows. The documentation explicitly addresses memory management considerations when exporting data to ML libraries, noting that RMM caching may need to be disabled to allow downstream libraries full access to GPU memory.

The project maintains connections with related NVIDIA initiatives, particularly nvidia/spark-rapids, and shares contributors with apache/datafusion and dmlc/xgboost, indicating a broader ecosystem of GPU-accelerated data processing tools. Qualification and profiling tools have been separated into a dedicated nvidia/spark-rapids-tools repository, allowing users to analyze whether their workloads are suitable for GPU acceleration before deployment. External projects can declare the RAPIDS Accelerator as a provided dependency, with current support focused on GPU-accelerated user-defined functions.