已开启
[Requirement|需求建议]: HCCL仓软件目录与软件架构保持一致(src/ops目录结构对齐) #658
严正行创建于 10 天前
9 天前 添加了label:tech-debt
7 天前 关联了pull request:HCCL软件目录与软件架构保持一致
5 天前 修改了issue 的描述
5 天前 修改了issue 的描述
miaoziyi1031
4 天前 评论:
4 天前 评论:
后续跟踪项:当前 HCCL/HCOMM 的 experimental 目录结构尚未完全与对应 src 目录对齐。本次 PR #2823 仅调整 src/ops 相关目录结构及工程适配,不在本 PR 中继续扩展 experimental 的目录重构范围。后续将单独跟踪 experimental 目录结构对齐,包括结合实际模块职责、构建依赖及 src 目录最新结构评估并实施相应调整。


Backgroud(背景信息)
新软件架构重构已完成、架构图已评审确定,参考 architecture-brief.md §3 软件分层逻辑。目前 HCCL 仓
src/ops算子层软件目录与软件架构图存在差异:op_common下executor、template平铺,未收拢到统一的"算法"概念下topo目录内混装两类内容:topo match 实现(topo_match_*)与拓扑信息(topo/topo_host),且整体挂在op_common通用组件层下scatter算子目录用algo,与其他算子的executor/template命名不一致op_common未严格对齐现状(master):
不做的代价是架构与代码长期背离,后续算子开发无统一目录范式。
Origin(信息来源)
社区自规划(系统方案工程师),软件需求与方案设计已评审定稿。
Benefit / Necessity(价值/作用)
algorithm/topo_match(与 executor/template 平级),与代码引用事实吻合;拓扑信息独立保留在topo_infoDesign(设计方案)
一、目录结构
op_common引入algorithm子目录,内部包含executor、template;原op_common/executor、op_common/template整体迁入op_common/selector保留;op_common.cc等 Host 侧主流实现保留在op_common根目录;op_common/inc本期不动op_common的派生实现,一、二级目录结构与op_common严格一致algo目录更名为algorithm,内部分为executor和templateallreduce.cc)二、topo 拆分调整
topo目录中的 topo match 内容(topo_match_*.cc/h)迁入op_common/algorithm/topo_match/(与executor、template平级)topo目录重命名为topo_info,保留topo.cc/topo.h、topo_host.cc/topo_host.h等拓扑信息文件三、配套工作
topo相关变更的文档刷新目标目录结构(src/ops 部分):
本期范围外(不在本 issue 交付):
interface_graph_mode相关内容(拆分、重命名及pkg_inc包间头目录新增)——本期不调整,待后续专门调整op_graph子目录调整(暂缓)selector/algorithm插件式扩展挂载点验收参考:
op_common/executor、op_common/template内容整体迁入op_common/algorithm/且无残留op_common/topo/中 topo match 内容(topo_match_*.cc/h)整体迁入op_common/algorithm/topo_match/且无残留;原目录重命名为op_common/topo_info/并保留topo/topo_host等拓扑信息文件;全仓无op_common/topo路径残留引用scatter等算子algo更名为algorithm(内含 executor/template);抽查各算子二级目录集合与op_common一致bash build.sh --ut、bash build.sh --st通过topo相关架构文档同步刷新约束:结构重构型变更,代码逻辑零改动;不涉及
include/对外公共头,不涉及对 hcomm 依赖通道(common/hcomm_dlsym);依赖方向不变——topo match 迁入algorithm(与 executor/template 平级)后其消费方(各算子 executor、selector 的 cost_model 等)引用关系与现状一致,无新增反向依赖。工作量估计:0.1k。