SuperAPI AI 工具集

optimize-for-gpu

编程与开发

查看项目

更新于 10-16 08:37

技能介绍

用途:帮助编写新的 GPU 加速 Python 代码,或将现有 CPU 计算代码迁移到 NVIDIA GPU,以取得显著加速。适用于数值与科学计算、数组/矩阵/数据框、CUDA 与并行计算、机器学习、图分析、向量检索与 RAG、地理空间、图像与医学影像、物理仿真、机器人等场景。当用户提到 CUDA、GPU、NVIDIA,或使用 NumPy、pandas、SciPy、scikit-learn、NetworkX、Faiss、GeoPandas、scikit-image 等库处理大数据时适用。

主要能力与选型:按代码实际做的事选库,写代码前先阅读对应参考文件。CuPy 对应 NumPy/SciPy 数组运算(cuBLAS、cuFFT、cuSOLVER、cuSPARSE、cuRAND),多数代码只需把 import numpy as np 改为 import cupy as cp。Numba CUDA 用于自定义内核,需要线程/块/共享内存控制时用 @vectorize(target='cuda')。Warp 用于物理仿真、几何处理、机器人与可微仿真,内核可自动微分,并与 PyTorch/JAX 集成。cuDF 对应 pandas,cudf.pandas 加速模式可零改动提速。cuML 对应 scikit-learn,cuml.accel 支持零改动加速。cuGraph 对应 NetworkX,nx-cugraph 后端可通过环境变量启用。KvikIO 用于 GPU 文件 IO 与 GPUDirect Storage,直读 S3/HTTP/WebHDFS;表格格式应改用 cuDF 读取器。cuxfilter 用于大规模交互式联动过滤仪表盘。cuCIM 对应 scikit-image,含全切片图像读取器。cuVS 用于向量检索(CAGRA、IVF-Flat、IVF-PQ 等)。cuSpatial 对应 GeoPandas 的空间运算与轨迹分析。RAFT(pylibraft)提供稀疏特征值、设备内存、多 GPU 通信等底层原语,向量检索已迁移至 cuVS。

使用方式:各库通过 CUDA Array Interface 零拷贝互通,常见组合包括 cuDF+cuML、cuDF+cuGraph、cuML+cuVS、Warp+PyTorch、CuPy+Numba、cuDF+cuxfilter、KvikIO+CuPy 等。

限制:原文未提供具体安装命令、版本要求、性能基准的完整数据与硬件前提,相关资料暂未提供;具体 API 与用法需查阅各参考文件,不应臆测。