已开启
[RFC]: Multicore Torch-only 目录收编与私有 SHMEM 边界 #371
hedongdong创建于 9月8日
9月8日 添加了label:RFC
Hhedongdong
9月8日 changed title from **[RFC]: Multicore Torch-only 目录收编与私有 SHMEM 边界
** to **[RFC]: Multicore Torch-only 目录收编与私有 SHMEM 边界**
9月8日 changed title from **[RFC]: Multicore Torch-only 目录收编与私有 SHMEM 边界
** to **[RFC]: Multicore Torch-only 目录收编与私有 SHMEM 边界**
9月8日 关联了pull request:refactor(multicore): 收编 Torch-only 组件与私有 SHMEM
动机(Motivation)
Multicore 已进入 MegaMoE 托管接口与 native 编译可交付阶段,但实现、Platform 适配、symmetric memory、资料、测试和构建职责仍分散在多个目录。继续保留双框架分发与公共单边通信接口,会让后续 A5 适配同时承担无效的 MindSpore/Platform 兼容债务。
本 ISSUE 继承 #333 已建立的 native 源码可重建、统一 payload 和显式激活基线,并重新限定 Multicore 自身的产品边界。
目标设计
hyper_parallel/core/multicore/。symmetric_memory整体迁入core/multicore/shmem/,成为 Multicore 私有组件;不提供独立开关或公共 API。from hyper_parallel.core.multicore import MegaMoeExperts。build.sh只解析公共开关、调用业务编译脚本、合并本轮成功产物并生成完整 wheel。Multicore、SHMEM、indexed helper 和 custom ops 各自维护业务编译入口。--multicore on|off;SHMEM 随 Multicore 一起编译和交付。tests/ut/core/multicore/镜像业务目录;Multicore ST 只存在于tests/torch/multicore/。设计边界与兼容性
这是有意的不兼容清理,不保留旧 Platform handler、MindSpore 实现、
core.symmetric_memory路径、根包导出或兼容别名。CANN SDK 自身的platform_ascendc/opdev/platform.h以及 benchmark 中独立 Common-MoE Torch 对照不属于 HyperParallel Platform 分发层。正常 wheel 使用预编译 native payload;indexed helper 在源码/PYTHONPATH/editable 场景缺少扩展时可按既有 Makefile JIT。Multicore vendor/OPP 仍显式预编译并在导入 Torch 前激活。A5 不在本次范围。
验证要求
@david_he91、@probiotics_53,编译打包路径维护人不变。相关 RFC 和 API
hyper_parallel.core.multicore.MegaMoeExperts;HyperParallel 根 API 不增加接口。CC List
@david_he91 @probiotics_53