Repolode
NVIDIA

NVIDIA/cudf

GPU 加速的 DataFrame 库,API 接近 pandas,并可零改动加速现有 pandas 代码。

Star
9,795
Fork
1,159
未关闭 Issue
1,449
最近提交
17小时前

这是什么?

cuDF 是一个基于 GPU 加速的 DataFrame 库,用于处理表格数据。其 Python 包的 API 与 pandas 保持一致,已有的 pandas 代码通常只需少量修改即可在 NVIDIA GPU 上运行。底层核心是 libcudf,一个基于 Apache Arrow 兼容数据结构的 CUDA C++ 库,提供表格数据的基础算法。

项目由多个子包组成:cudf 提供类 pandas 的 DataFrame 接口;cudf.pandas 无需修改代码即可加速 pandas 脚本或 Jupyter 笔记本;pylibcudf 为 libcudf 提供 Cython 绑定;dask-cudf 为 Dask DataFrame 提供 GPU 后端;cudf-polars 则为 Polars 惰性查询提供 GPU 引擎。

可通过 pip(按 CUDA 版本选择 cu12 或 cu13 后缀)或 conda 从 RAPIDS 频道安装,也提供每日构建的 nightly 版本。它是 NVIDIA CUDA-X 库套件的一部分,Spark 加速插件、Velox-cuDF 等项目也基于它构建。

核心功能

  • 01提供与 pandas 基本兼容的 DataFrame 接口。
  • 02cudf.pandas 可通过 `python -m cudf.pandas` 加速未修改的 pandas 代码。
  • 03为 Polars 惰性查询提供 GPU 引擎,使用 engine="gpu" 调用。
  • 04通过 dask-cudf 为 Dask DataFrame 提供 GPU 后端。
  • 05底层基于兼容 Apache Arrow 的列式数据结构,使用 CUDA C++ 实现。

适用场景

  • 在 NVIDIA GPU 上加速现有 pandas 数据处理脚本,无需重写代码。
  • 在 Python 中对大规模表格数据进行 groupby、过滤和聚合运算。
  • 为 Dask 或 Polars 数据流水线添加 GPU 加速。
  • 基于 libcudf 构建 GPU 加速的 SQL 或数据处理引擎。

快速上手

  1. 1

    使用 pip 为 CUDA 12 安装 cudf 包

    pip install cudf-cu12
  2. 2

    导入 cudf,像使用 pandas 一样读取 parquet 文件并执行分组聚合

使用前须知

  • 需要兼容驱动和 CUDA 版本的 NVIDIA GPU。
  • 从 PyPI 安装时需要通过 -cu## 后缀匹配 CUDA 主版本。

收录于专题

标签

常见问题

cudf 是什么?
GPU 加速的 DataFrame 库,API 接近 pandas,并可零改动加速现有 pandas 代码。 cuDF 是一个基于 GPU 加速的 DataFrame 库,用于处理表格数据。其 Python 包的 API 与 pandas 保持一致,已有的 pandas 代码通常只需少量修改即可在 NVIDIA GPU 上运行。底层核心是 libcudf,一个基于 Apache Arrow 兼容数据结构的 CUDA C++ 库,提供表格数据的基础算法。
cudf 可以免费使用吗?用的什么许可证?
cudf 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
cudf 还在维护吗?
活跃维护中。cudf 最近一次提交是在 2026年11月6日。
cudf 适合用来做什么?
在 NVIDIA GPU 上加速现有 pandas 数据处理脚本,无需重写代码。 在 Python 中对大规模表格数据进行 groupby、过滤和聚合运算。 为 Dask 或 Polars 数据流水线添加 GPU 加速。 基于 libcudf 构建 GPU 加速的 SQL 或数据处理引擎。
cudf 怎么安装和运行?
使用 pip 为 CUDA 12 安装 cudf 包: pip install cudf-cu12 导入 cudf,像使用 pandas 一样读取 parquet 文件并执行分组聚合
在哪里获取 cudf?
源代码和安装说明在 GitHub 上:https://github.com/NVIDIA/cudf

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目