/cudf

cuDF - GPU DataFrame Library

Primary LanguageC++Apache License 2.0Apache-2.0

 cuDF - GPU DataFrames

📢 cuDF can now be used as a no-code-change accelerator for pandas! To learn more, see here!

cuDF is a GPU DataFrame library for loading joining, aggregating, filtering, and otherwise manipulating data. cuDF leverages libcudf, a blazing-fast C++/CUDA dataframe library and the Apache Arrow columnar format to provide a GPU-accelerated pandas API.

You can import cudf directly and use it like pandas:

import cudf
import 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())

Or, you can use cuDF as a no-code-change accelerator for pandas, using cudf.pandas. cudf.pandas supports 100% of the pandas API, utilizing cuDF for supported operations and falling back to pandas when needed:

%load_ext cudf.pandas  # pandas operations now use the GPU!

import pandas as pd
import 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 = pd.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())

Resources

Installation

CUDA/GPU requirements

  • CUDA 11.2+
  • NVIDIA driver 450.80.02+
  • Volta architecture or better (Compute Capability >=7.0)

Conda

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

conda install -c rapidsai -c conda-forge -c nvidia \
    cudf=24.02 python=3.10 cuda-version=11.8

We also provide nightly Conda packages built from the HEAD of our latest development branch.

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

See the RAPIDS installation guide for more OS and version info.

Build/Install from Source

See build instructions.

Contributing

Please see our guide for contributing to cuDF.