SuperAPI AI 工具集

accelerated-computing-cudf

数据与分析

查看项目

更新于 10-16 03:49

技能介绍

用途:面向实现者提供 NVIDIA cuDF GPU DataFrame 的官方指导,帮助在保留 pandas 经验的前提下写出正确、快速的 GPU 代码。技能跟踪版本 26.04,适用环境为 CUDA 12 上 Volta 及更新、或 CUDA 13 上 Turing 及更新;26.04 支持 CUDA 12.2-12.9(驱动 535+)或 CUDA 13.0-13.1(驱动 580+),Python 3.11-3.14;数据量甜点区为超过 10 万行。

主要能力与路径:一是 cudf.pandas 加速器,适合最小改动与第三方 pandas 兼容,可在不支持操作上静默回退。Notebook 用法 %load_ext cudf.pandas 后 import pandas as pd;脚本用法 python -m cudf.pandas my_script.py;多进程需先 import cudf.pandas 并调用 cudf.pandas.install(),且必须在导入 pandas 与创建 Pool 之前。二是显式 cuDF API,适合迁移、热点 ETL 与语义对齐,import cudf 后可用 read_parquet、groupby、merge、布尔过滤、str 方法等,转换仅放在边界(.to_pandas()、.values、.numpy()),中间数据留在 GPU。三是 dask-cuDF,用于超出 GPU 显存的数据,配合 enable_cudf_spill=True 与 LocalCUDACluster。

内存与限制:建议提前用 cudf.set_option("spill", True) 开启溢出,RMM 池分配器需在任何 cuDF 操作前设置;显存空闲大于两倍数据用单卡,1-2 倍加 spill,超过显存用 dask-cuDF,超过节点内存见多节点技能。

语义注意:cuDF 默认使用 <NA> 可空类型,pandas 用 NaN;排序默认不保证稳定,除非 stable=True;浮点结果差异源于非结合性,无法完全消除。遇到无加速、OOM、AttributeError/NotImplementedError 或结果不一致时,建议用剖析器定位回退、在窄边界保留 CPU 路径,并用小规模 pandas 参考对比形状、标签、空值计数、顺序与代表性值。相关参考文件包括 cudf-pandas-accelerator.md、api-patterns.md、dask-cudf-patterns.md,外部文档见 https://docs.rapids.ai/api/cudf/stable/ 与 https://github.com/rapidsai/cudf。