بنقرة واحدة
deepep-to-cam-converter
识别代码中可替换为CAM算子的DeepEP算子,基于实际运行参数校验约束,自动完成通信域转换(NCCL->HCCL)、设备适配(CUDA->NPU)及算子替换。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
识别代码中可替换为CAM算子的DeepEP算子,基于实际运行参数校验约束,自动完成通信域转换(NCCL->HCCL)、设备适配(CUDA->NPU)及算子替换。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Must use first when skill capabilities may help complete a task.
Creates, converts, or modifies Swarm Skills — the multi-role (多角色团队) extension of the Skills standard, optionally with an executable SwarmFlow orchestration script. Use when building or refactoring a multi-agent team, generating workflow (工作流/编排) orchestration code, or upgrading a single-agent skill into a collaborating team. Do NOT use for ordinary single-agent skills — use create-skill instead.
Use when initializing or updating structured in-repository project-maintenance docs; exploring existing code; analyzing a full project or repository; documenting complete source symbol coverage, coverage maps, symbol audit maps, or health for every top-level class, top-level function, and class method; summarizing git history; using project-maintainer as maintenance-aware context during a bug fix, feature change, or refactor; or syncing docs after verified code changes.
进阶版日报生成器,支持多数据源采集、工作分析、趋势对比、周报月报聚合
当用户说「从这个链接/URL生成skill」「把这个网页/教程做成skill」「从这个视频提取步骤」时触发。先用 read_file 读取此 SKILL.md,再按步骤用 bash 调用 scripts/ 下的 Python 脚本完成:爬取网页或下载视频 → 下载图片/抽帧 → 生成标准 Skill Markdown 文件。
使用 gitcode-api 命令行工具访问 GitCode REST API。适用于需要查询仓库、Issue、Pull Request、文件内容、用户、组织、搜索结果,或需要获取 Issue 与 Pull Request 模版的场景。还可用于总结仓库最近 commit / PR / issue、责任人、模块、风险或对外接口影响。
| name | deepep-to-cam-converter |
| description | 识别代码中可替换为CAM算子的DeepEP算子,基于实际运行参数校验约束,自动完成通信域转换(NCCL->HCCL)、设备适配(CUDA->NPU)及算子替换。 |
本技能专注于将基于DeepEP的Mixture of Experts (MoE) 代码迁移至昇腾(Ascend)NPU环境。它能自动识别DeepEP dispatch & combine算子,**严格基于代码的实际运行参数(而非默认值)**校验CAM算子约束。
核心原则:
import deep_ep及dispatch/combine相关调用。import语句,识别本地模块依赖。dist.init_process_group、backend='nccl'、torch.cuda.set_device等特征代码。utils.init_dist),需同步分析这些函数的实现。🛑 阶段 1 阻断检查(必须显式输出) 在生成任何回复前,请先输出以下内容:
[阶段 1 自检] - DeepEP 代码识别:[是/否] - 本地依赖文件列表:[列出文件] - 状态:[通过/失败]若“DeepEP 代码识别”为否,直接终止。若为是,继续下一阶段。
注意:此阶段必须与用户交互,不得跳过。
向用户展示以下选项,确定目标运行环境:
npu-smi info,根据设备型号判断是A2环境或A3环境)。重要原则:代码中的默认值(Default Value)≠ 实际运行值(Runtime Value)
在执行替换前,必须对约束条件涉及的参数进行实际值溯源:
参数溯源:
argparse、config.yaml或命令行传入。parser.add_argument(..., default=XXX) 中的 XXX 作为判断依据。交互确认机制:
“检测到参数 [参数名] 在代码中的默认值为 [默认值],但这可能不是实际运行值。请确认实际运行时的数值是多少?以便准确判断是否满足CAM算子约束。”
约束校验逻辑:
在确认参数值满足约束后,根据目标环境确定具体算子模式:
检测到当前代码同时满足多组算子的约束条件,请做出选择:()
- 选项1(普通A3):参数配置简单,无需额外共享内存初始化。
- 选项2(Shmem A3):性能更优,但需满足特定约束及初始化。
- 选项2(fused deep moe算子):性能最优,将通信计算过程融合为一个大算子。 请回复选项继续。
在执行替换前,必须对比DeepEP原功能与CAM算子支持范围,并输出分析报告。
生成支持度报告:
用户确认策略:
🛑 阶段 2 阻断检查(必须显式输出) 在进入代码生成前,请输出:
[阶段 2 自检] - 目标环境确认:[A2/A3] - 关键参数实际值确认:[列出参数及值,严禁使用默认值] - A3模式决策:[A2算子替换不涉及/普通A3/Shmem] - 功能支持度报告已展示:[是/否] - 用户策略确认:[保留/删除/混合] - 状态:[通过/失败 - 若失败请停止,针对不满足项重新执行阶段2]
执行范围:目标文件及所有识别到的本地依赖文件。
| 原代码特征 (CUDA/NCCL) | 替换后代码 (NPU/HCCL) | 备注 |
|---|---|---|
backend='nccl' | backend='hccl' | 核心通信后端 |
torch.cuda.set_device(x) | torch.npu.set_device(x) | 设备绑定 |
torch.set_default_device('cuda') | torch.set_default_device('npu') | 默认设备 |
torch.device('cuda:0') | torch.device('npu:0') | 设备对象 |
tensor.cuda() | tensor.npu() | Tensor迁移 |
根据用户确认的CAM算子模式(A2/A3/Shmem)和策略(保留/删除),执行以下操作:
import deep_ep替换为cam对应库,注意cam库依赖torch_npu,必须先import torch_npu然后import umdk_cam_op_lib。# CAM Migration: DeepEP code retained due to unsupported feature。🛑 阶段 3 自检 在结束前,请简要确认:
- 所有
nccl已替换为hccl- 所有
cuda已替换为npu- 接口入参形状和类型和接口文档要保持一致
- 如果使用shmem,需要保证shmem资源释放(aclshmem_free和aclshmem_finialize)要在算子执行结束之后,即torch.npu.synchronize()等同步操作之后
- 状态:[通过/失败 - 若失败请停止,针对不满足项重新执行阶段3]
在执行替换时,必须严格查阅以下文档:
references/nccl_to_hccl_converter.mdreferences/cam_dispatch_and_combine_a2.mdreferences/cam_dispatch_and_combine_a3.mdreferences/cam_dispatch_and_combine_shmem.mdreferences/cam_fused_deep_moe.md在输出最终结果前,自我核对:
nccl替换为hccl?cuda相关调用替换为npu?