cuDF - GPU DataFrames

cuDF - GPU DataFrame库。「cuDF - GPU DataFrame Library

Github stars Tracking Chart

 cuDF - GPU DataFrames

Build Status

NOTE: For the latest stable README.md ensure you are on the master branch.

Built based on the Apache Arrow columnar memory format, cuDF is a GPU DataFrame library for loading, joining, aggregating, filtering, and otherwise manipulating data.

cuDF provides a pandas-like API that will be familiar to data engineers & data scientists, so they can use it to easily accelerate their workflows without going into the details of CUDA programming.

For example, the following snippet downloads a CSV, then uses the GPU to parse it into rows and columns and run calculations:

import cudf, io, requests
from io import StringIO

url = "https://github.com/plotly/datasets/raw/master/tips.csv"
content = requests.get(url).content.decode('utf-8')

tips_df = cudf.read_csv(StringIO(content))
tips_df['tip_percentage'] = tips_df['tip'] / tips_df['total_bill'] * 100

# display average tip by dining party size
print(tips_df.groupby('size').tip_percentage.mean())

Output:

size
1    21.729201548727808
2    16.571919173482897
3    15.215685473711837
4    14.594900639351332
5    14.149548965142023
6    15.622920072028379
Name: tip_percentage, dtype: float64

For additional examples, browse our complete API documentation, or check out our more detailed notebooks.

Quick Start

Please see the Demo Docker Repository, choosing a tag based on the NVIDIA CUDA version you’re running. This provides a ready to run Docker container with example notebooks and data, showcasing how you can utilize cuDF.

Installation

Conda

cuDF can be installed with conda (miniconda, or the full Anaconda distribution) from the rapidsai channel:

For cudf version == 0.10 :

# for CUDA 9.2
conda install -c rapidsai -c nvidia -c numba -c conda-forge \
    cudf=0.10 python=3.6 cudatoolkit=9.2

# or, for CUDA 10.0
conda install -c rapidsai -c nvidia -c numba -c conda-forge \
    cudf=0.10 python=3.6 cudatoolkit=10.0

# or, for CUDA 10.1
conda install -c rapidsai -c nvidia -c numba -c conda-forge \
    cudf=0.10 python=3.6 cudatoolkit=10.1

For the nightly version of cudf :

# for CUDA 9.2
conda install -c rapidsai-nightly -c nvidia -c numba -c conda-forge \
    cudf python=3.6 cudatoolkit=9.2

# or, for CUDA 10.0
conda install -c rapidsai-nightly -c nvidia -c numba -c conda-forge \
    cudf python=3.6 cudatoolkit=10.0

Note: cuDF is supported only on Linux, and with Python versions 3.6 or 3.7.

See the Get RAPIDS version picker for more OS and version info.

Build/Install from Source

See build instructions.

Contributing

Please see our guide for contributing to cuDF.

Contact

Find out more details on the RAPIDS site

Open GPU Data Science

The RAPIDS suite of open source software libraries aim to enable execution of end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposing that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.

Apache Arrow on GPU

The GPU version of Apache Arrow is a common API that enables efficient interchange of tabular data between processes running on the GPU. End-to-end computation on the GPU avoids unnecessary copying and converting of data off the GPU, reducing compute time and cost for high-performance analytics common in artificial intelligence workloads. As the name implies, cuDF uses the Apache Arrow columnar data format on the GPU. Currently, a subset of the features in Apache Arrow are supported.

Main metrics

Overview
Name With Ownerrapidsai/cudf
Primary LanguageC++
Program languagePython (Language Count: 11)
PlatformLinux
License:Apache License 2.0
所有者活动
Created At2017-05-07 03:43:37
Pushed At2025-04-22 04:47:10
Last Commit At
Release Count124
Last Release Namev25.04.00 (Posted on 2025-04-09 11:14:01)
First Release Namev0.1.0a1 (Posted on 2017-05-08 04:46:42)
用户参与
Stargazers Count8.9k
Watchers Count156
Fork Count0.9k
Commits Count40.6k
Has Issues Enabled
Issues Count6784
Issue Open Count970
Pull Requests Count10496
Pull Requests Open Count127
Pull Requests Close Count1101
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private