Need help with cudf?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

rapidsai
3.9K Stars 515 Forks Apache License 2.0 33.3K Commits 607 Opened issues

Description

cuDF - GPU DataFrame Library

Services available

!
?

Need anything else?

Contributors list

# 47,361
assembl...
Haskell
pandas
python-...
1746 commits
# 49,749
sed
C++
cython
pandas
1719 commits
# 46,950
pandas
scikit-...
angular...
angular...
1624 commits
# 55,549
C++
Shell
C
pandas
1452 commits
# 67,997
C++
Shell
C
pandas
998 commits
# 68,648
Shell
pandas
python-...
h2o
949 commits
# 58,980
Jupyter...
MATLAB
R
pandas
831 commits
# 75,673
C++
C
pandas
python-...
810 commits
# 77,903
Shell
C
C++
pandas
770 commits
# 81,437
Shell
pandas
python-...
h2o
697 commits
# 84,272
C++
Shell
C
pandas
659 commits
# 88,307
C++
Shell
C
pandas
599 commits
# 20,683
pandas
TypeScr...
R
React
563 commits
# 88,212
Shell
pandas
python-...
h2o
550 commits
# 14,067
Jupyter...
Python
C
rocm
468 commits
# 38,083
pandas
dask
pydata
scikit-...
410 commits
# 106,757
Shell
C++
C
pandas
396 commits
# 104,814
pandas
C++
python-...
h2o
390 commits
# 108,883
Shell
pandas
python-...
h2o
376 commits
# 105,795
Groovy
Shell
nifi
C
329 commits

 cuDF - GPU DataFrames

Build Status

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

main
branch.

Resources

Overview

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: ```python 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')

tipsdf = cudf.readcsv(StringIO(content)) tipsdf['tippercentage'] = tipsdf['tip'] / tipsdf['total_bill'] * 100

display average tip by dining party size

print(tipsdf.groupby('size').tippercentage.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

CUDA/GPU requirements

  • CUDA 11.0+
  • NVIDIA driver 450.80.02+
  • Pascal architecture or better (Compute Capability >=6.0)

Conda

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

rapidsai
channel:

For

cudf version == 0.19
: ```bash

for CUDA 10.1

conda install -c rapidsai -c nvidia -c numba -c conda-forge \ cudf=0.19 python=3.7 cudatoolkit=10.1

or, for CUDA 10.2

conda install -c rapidsai -c nvidia -c numba -c conda-forge \ cudf=0.19 python=3.7 cudatoolkit=10.2

For the nightly version of `cudf` :
```bash
# for CUDA 11.0
conda install -c rapidsai-nightly -c nvidia -c numba -c conda-forge \
    cudf python=3.7 cudatoolkit=11.0

or, for CUDA 11.2

conda install -c rapidsai-nightly -c nvidia -c numba -c conda-forge
cudf python=3.7 cudatoolkit=11.1

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

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.