Agent Skills
返回列表
💻

cuPyNumeric 迁移就绪评估

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/cupynumeric-migration-readiness。

技能介绍

要解决什么问题

把 NumPy 工作负载迁到 cuPyNumeric / Legate GPU 栈之前,真正耗时间的是「先写几周移植代码再发现热路径跑不起来」。本技能针对的是预迁移场景:在用户改代码、上集群之前,回答现有 NumPy 用法里哪些能直接扩展、哪些会卡在分布式执行或同步上,以及值不值得投入移植。

它不做迁移后的性能剖析,也不帮写 CUDA 内核;图谱/稀疏/ML 等若明显不匹配 GPU 数组模型,会给出 NOT RECOMMENDED 这类结论,而不是泛泛拒绝评估。

技能如何工作

评估是静态、只读的:用 Read / Grep / Glob 读源码,不执行用户程序、不改文件。流程大致分五步:

  1. 收集上下文——源码路径、热路径数组规模(默认约 3000万~5000 万元素)、目标 GPU 数、主要计算模式;未说明的默认值会在报告顶部写明。
  2. 加载 assets/api-support.md——对照 NumPy 与 cuPyNumeric 的 API 符号(多 GPU 可用 / 单 GPU / 部分 / 未实现)。
  3. 语义读代码——按 idioms-that-scale 与 idioms-that-block 标记元素循环、热路径上的 .item()、归约条件、循环内分配、order=、np.random.* 多 GPU、mpi4py 热路径等。
  4. 输出八段结构化报告——结论、SCALES / BLOCKS / REFACTOR / INFO、API 缺口、决策框架关卡、后续步骤;每条发现带 file:line。
  5. 引导运行时验证——配方改完后由用户启用 cuPyNumeric Doctor,补抓源码审查易漏的问题。

结论按类型定性:READY、LIGHT REFACTOR、SIGNIFICANT REFACTOR、NOT RECOMMENDED(主要是数组规模低于约 65K 或计算模式不匹配关卡 4)。

适用边界

  • 清单快照若超过约 90 天,需用户自行运行 scripts/fetch_api_support.py 刷新;技能本身不替你抓网。
  • 未实现 API 在热路径上视为迁移阻塞,不要假设会静默回退到主机 NumPy。
  • legate --profile 与迁移后调优属于另一条工作流,应在本技能结论落地后再做。

使用场景

  • 团队计划把蒙特卡洛或模板计算的 NumPy 热路径迁到 Legate 多 GPU,移植前先要知道哪些模块能只改 import
  • 维护数万行 NumPy 仿真代码,需要在立项前产出带 file:line 的阻塞项清单和重构配方优先级
  • SciPy 与 NumPy 混用的混合工作负载,要对照 API 支持表判断哪些调用会在分布式路径上成为热路径阻塞
  • 数组规模在千万级、目标 1~4 卡单节点,想按决策框架关卡 2/4 判断是 READY 还是 NOT RECOMMENDED

适合人员

  • 负责 NumPy 数值内核、即将向 cuPyNumeric 提交 MR 的科学计算工程师,需要先分清 SCALES 与 BLOCKS
  • HPC 平台或基础设施同学,在集群推广 Legate 栈前要为业务方做预迁移就绪评估与成本说明
  • 课题组 PI 或技术负责人被问「要不要上 GPU」,需要结构化八段报告支撑立项而不是口头判断
  • 曾用 mpi4py 做数组分区的老代码维护者,需确认热路径 MPI 是否触发 SIGNIFICANT REFACTOR 而非误判为 READY