SuperAPI AI 工具集

accelerated-computing-cudf

数据与分析

查看项目

更新于 10-16 09:51

技能介绍

用途:为实施者提供 cuDF GPU DataFrame 的落地指导,把 pandas 代码转化为正确、快速的 GPU 代码。需理解 pandas 与自身数据,技能负责在最小摩擦下选择正确加速路径。

三条路径:一、cudf.pandas 加速器,适用于小改动、第三方 pandas 兼容或单一代码路径,未支持操作可回退 CPU;Jupyter 用 %load_ext cudf.pandas,脚本用 python -m cudf.pandas my_script.py,多进程需先 import cudf.pandas; cudf.pandas.install() 再创建 Pool。二、显式 cuDF API,适用于命名 DataFrame 迁移、ETL 热点、对语义一致性敏感的任务,可直接 cudf.read_parquet、groupby、merge、str 操作。三、dask-cuDF,用于数据超出 GPU 显存,配合 LocalCUDACluster(enable_cudf_spill=True) 与 Client。

关键约束:规模门槛约 100K 行,低于此值传输开销常盖过加速;转换只在边界做,中间 ETL 留在 GPU;float32 通常快于 float64;对 NULL 处理、join、时间序列、reshape、分组逻辑需保留小份 pandas 参照并比较形状、标签、空值数、顺序与代表性值;数据大于显存用 dask-cuDF 并开启 spill。

内存与排错:提前 cudf.set_option("spill", True);可用 RMM 内存池。无加速多因数据太小或回退过多,可用 %%cudf.pandas.profile 检查。OOM 先开 spill,再考虑 dask-cuDF。AttributeError/NotImplementedError 可把该操作放在 CPU 窄边界。结果与 pandas 不一致常因 NULL 语义(cuDF 默认 <NA>)、排序默认不稳定(需 stable=True)或浮点非结合性,浮点差异无法完全消除。

版本要求:跟踪版本 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。其余平台与场景细节暂未提供。