cuPyNumeric 迁移就绪评估
用途
本技能在将 NumPy 代码迁移到 cuPyNumeric 之前,评估其能否在 GPU / 多节点环境有效扩展,识别需要重构的阻塞模式,并给出迁移裁决(READY、LIGHT REFACTOR、SIGNIFICANT REFACTOR、NOT RECOMMENDED)和具体的重构建议。
使用方法
- 收集上下文(源码路径、数组规模、GPU数量、计算模式)。
- 加载 cuPyNumeric API 支持清单,检查所调用的 NumPy API。
- 语义化阅读源码,对照 idioms-that-scale.md 和 idioms-that-block.md 评估模式。
- 输出结构化报告,包括:可扩展项、阻塞项、可重构项、API缺口、决策框架总结、下一步行动。
- 指导用户运行 cuPyNumeric Doctor 进行运行时验证。
裁决标准
- READY:可直接替换 import 并基准测试。
- LIGHT REFACTOR:少量配方可修复的模式,实施 1-3 个重构配方。
- SIGNIFICANT REFACTOR:热路径上多个阻塞点或涉及 mpi4py,需重写。
- NOT RECOMMENDED:数组规模低于 65,536 元素每 GPU,或计算类型不适配(稀疏/图/ML/顺序/字符串)。
常见阻塞项
- 元素级 for 循环、np.vectorize、逐行迭代。
- 热循环内 .item()/.tolist()/bool(arr) 等标量同步。
- 基于数组归约的 if/while 循环。
- mpi4py 混合使用、Python 内建 sum/max/min/any、order= 参数、stride 切片等。