cuPyNumeric 迁移就绪度评估
在投入大规模移植工作前,判断 NumPy 代码能否在 GPU 和多 GPU 环境中有效扩展。
技能明确限定为静态、只读检查,禁止执行用户代码、写文件、输出环境变量或秘密,并将 Legate/Doctor 命令交由用户运行;数据流和外部边界较透明。扣分在于没有明确的敏感源码脱敏建议、用户确认流程、回滚方案,以及运行用户提供命令时的额外安全防护。
五步流程、API 清单、失败处理和 Doctor 交接说明较完整,且说明了默认值与无法判断时的处理方式。静态审查未执行关键路径,缺少技能自身的测试套件或可复现运行证据,并依赖多个未随本提示提供的引用文件,因此不能超过静态上限并扣分。
触发条件、拒绝范围、输入默认值、四档结论和非适用场景写得清楚,覆盖稠密 NumPy、稀疏/图/ML 等边界。扣分在于没有中文输出或中文用户支持说明,也没有证明在中国大陆网络环境下对外部文档和上游服务的可达性;核心分析仍可依赖这些海外链接。
信息架构、渐进式阅读顺序、兼容性、许可证、版本号、上游地址、示例、脚本和故障排查均有说明。扣分在于没有明确 changelog、长期维护责任人与版本更新承诺,且存在较深的引用链和较长的触发描述,增加维护与发现成本。
技能定义了 READY、LIGHT REFACTOR、SIGNIFICANT REFACTOR、NOT RECOMMENDED 四类可操作结论,并要求逐项定位、配方和八段式报告,静态使用价值较高。扣分在于不执行代码、不提供自动重构或真实性能验证,最终结果仍需用户运行 Doctor、基准测试和人工复核。
提交的 API 支持快照含来源、抓取时间、计数和 glyph 规则,并要求逐 API 对照、区分事实与推断。扣分在于提示中的技能文本没有附带真实 CI、测试套件或独立复现实验;外部引用虽列出但本次静态材料无法独立核验。
- 该技能不会执行代码或验证真实性能;READY 仍需用户运行 cuPyNumeric Doctor 并进行基准测试。
- 技能要求读取多个外部引用和上游文档,但未说明离线镜像或中国大陆网络不可达时的替代路径。
- 用户源码可能包含敏感信息;技能未明确要求脱敏、最小化读取或避免将源码内容发送到外部服务。
- API 支持清单带有抓取时间,可能过期;刷新脚本由用户运行,刷新过程本身缺少静态证据验证。
这个 Skill 能做什么,适合哪些场景?
这是 NVIDIA Agent Skills 仓库中的一个 cuPyNumeric 迁移前评估技能,专门分析现有 NumPy 代码是否适合迁移。它通过静态读取源代码、查找 NumPy API,并对照 cuPyNumeric 支持清单,识别可扩展模式、迁移阻塞因素和需要重构的区域。技能会输出 READY、LIGHT REFACTOR、SIGNIFICANT REFACTOR 或 NOT RECOMMENDED 四级结论,并提供具体的重构建议。它属于一个由 NVIDIA 维护并每日同步的技能集合,技能本身采用 CC-BY-4.0 或 Apache-2.0 许可。
读取用户指定目录中的源代码,使用 Read、Grep 和 Glob 进行静态检查;分析数组运算、循环、标量同步、主机往返、Python 控制流、MPI 使用、混合运行时和原地修改等模式;查询 NumPy API 在 cuPyNumeric 中的支持状态;根据代码规模、计算模式和发现的问题生成结构化迁移评估;指出文件与行号、适用的重构方案,并建议迁移后运行 cuPyNumeric Doctor 进行运行时验证。它不执行用户代码,也不修改文件。
- 正在把 NumPy 科学计算程序迁移到 NVIDIA GPU,想先判断是否值得投入工程时间的开发者。
- 准备扩展到多 GPU 或多节点,但需要先发现标量同步、主机往返或不支持 API 的团队。
- 希望在正式移植前定位元素级循环、Python 内置函数迭代和 MPI 数据通信问题的工程师。
- 需要按模块规划重构工作量,并决定先迁移哪个模块的项目负责人。
- 已经完成重构、准备首次运行 cuPyNumeric Doctor 进行验证的开发者。
这个 Skill 有哪些优点和局限?
- 面向迁移前决策,而不是只给出笼统的 GPU 加速建议。
- 覆盖多 GPU 扩展中的常见阻塞因素,并要求提供文件与行号依据。
- 将 API 支持状态、可扩展模式、阻塞项和重构项分开处理。
- 不要求安装 cuPyNumeric,适合在正式移植前做只读检查。
- 不执行代码、不进行性能基准测试,也不替用户生成重构后的代码。
- 评估依赖源代码语义分析,可能遗漏日志、装饰器或运行时数据导致的隐式同步。
- 实际运行仍需要用户自行准备相应的 cuPyNumeric、Legate、CUDA 和 NVIDIA GPU 环境。
- 源材料没有提供该单项技能独立的测试套件或实测性能数据。
如何安装这个 Skill?
使用默认 skills CLI 安装指定技能:npx skills add nvidia/skills --skill cupynumeric-migration-readiness --yes。也可以指定 Codex:npx skills add nvidia/skills --skill cupynumeric-migration-readiness --agent codex --yes。源材料未说明其他客户端的具体安装目录。
如何使用这个 Skill?
在加载该技能的代理中提出迁移前评估请求,例如:“评估当前目录中的 NumPy 代码是否适合迁移到 cuPyNumeric,分析 GPU/多 GPU 扩展性并列出需要重构的地方。”技能默认检查当前工作目录;未提供规模、硬件或计算模式时,会使用其规定的默认值并明确说明。完成重构且代码可运行后,按技能建议运行 CUPYNUMERIC_DOCTOR=1 CUPYNUMERIC_DOCTOR_FORMAT=json CUPYNUMERIC_DOCTOR_FILENAME=doctor-report.json legate --gpus 1 main.py。