Skip to content
cuDF - GPU DataFrame Library
C++ Cuda Python Java C CMake Other
Branch: branch-0.14
Clone or download

Latest commit

OlivierNV Merge pull request #5256 from rapidsai/fix-orc-nametscol
[REVIEW] ORC reader: fix loading individual timestamp columns
Latest commit a4d5c28 May 22, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Merge pull request #4146 from rapidsai/enh-gha-issues-to-projects Feb 13, 2020
ci Merge branch 'branch-0.14' into gpuci-docs May 18, 2020
conda Remove more legacy files from meta.yaml May 20, 2020
cpp Merge pull request #5256 from rapidsai/fix-orc-nametscol May 22, 2020
docker remove outdated channel setting in shell script, add docker arg to co… Apr 10, 2019
docs Merge branch 'branch-0.14' into 4741 Apr 16, 2020
img DOC Cropped RAPIDS logo Oct 27, 2018
java Remove experimental from JNI files. May 21, 2020
notebooks remove extra readme section Feb 21, 2020
python Merge branch 'branch-0.14' into fea-remove-experimental-namespace May 22, 2020
thirdparty Change jitify branch Apr 30, 2020
.dockerignore Created .dockerignore file to prevent adding stale /cpp/build/* direc… Jan 2, 2019
.gitattributes reduce CHANGELOG.md merge conflicts Feb 19, 2020
.gitignore gitignore `_cuda/*.cpp` files Apr 3, 2020
.gitmodules Change jitify branch Apr 30, 2020
.pre-commit-config.yaml fix flake8 3.8 issues May 13, 2020
CHANGELOG.md Merge pull request #5256 from rapidsai/fix-orc-nametscol May 22, 2020
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Apr 21, 2020
CONTRIBUTING.md Update CONTRIBUTING.md May 6, 2020
Dockerfile change CUDA 9.2 to 10.0+, add req to README Apr 20, 2020
LICENSE FIX Update author and license info Oct 26, 2018
MANIFEST.in Update paths in meta.yaml, update paths in MANIFEST Nov 8, 2018
README.md Apply suggestions from code review Apr 20, 2020
build.sh Add custom target for cudf benchmarks; remove unused ConfigureBench f… Apr 21, 2020
codecov.yml Remove CodeCov Status Failures Aug 1, 2019
print_env.sh Github-flavored MarkDown likes the 5-space indent best Jun 20, 2019
pyproject.toml Fix accidental changes that were in local dask-cudf repo, use Python … Jul 2, 2019
setup.cfg Fix isort config, fix build scripts using `dask-cudf` instead of `das… Jul 2, 2019

README.md

 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

CUDA/GPU requirements

  • CUDA 10.0+
  • NVIDIA driver 410.48+
  • 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.13 :

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

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

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

For the nightly version of cudf :

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

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

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

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.

You can’t perform that action at this time.