文件最后提交记录最后更新时间
修正target_hint打印字段正确性 Co-authored-by: liragnarosf<lijian120@huawei.com> # message auto-generated for no-merge-commit merge: !388 merge master into master 修正target_hint打印字段正确性 Created-by: liragnarosf Commit-by: liragnarosf Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> target_hint字段为uint8_t类型,打印会出现乱码,需要转义后进行打印 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ![image.png](https://raw.gitcode.com/user-images/assets/8546182/f32e57a9-22f5-44e7-91bd-14f00388281f/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!3881 天前
UDMA场景支持网络Topo自动发现 Co-authored-by: hbhdhd<luxianbin1@huawei.com> # message auto-generated for no-merge-commit merge: !265 merge topo-eid into master UDMA场景支持网络Topo自动发现 Created-by: hbhdhd Commit-by: hbhdhd Merged-by: cann-robot Description: ## 描述 基于拓扑信息优化 UDMA 场景下的 EID 选取逻辑,避免多机多卡通信时默认使用固定 EID,改为按 peer 选择对应的本端/远端 EID 路由。 同时补充了 jetty manager、transport manager 和 udma_demo 的适配逻辑,用于验证多 EID 路径下的通信流程。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue [#175](https://gitcode.com/cann/shmem/issues/175) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 基于 udma_demo 进行了单机 8 卡场景的联调验证,覆盖多 peer 下的 EID 路由选择和 UDMA 通信流程。 样例结果: ![ex.png](https://raw.gitcode.com/user-images/assets/8546182/418b4120-6456-48ea-b174-a01ec694caef/ex.png 'ex.png') UT 结果: ![ut.png](https://raw.gitcode.com/user-images/assets/8546182/befa460f-6b9b-47ab-829b-f2441e1b4007/ut.png 'ut.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了 examples/udma_demo/README.md 和运行脚本,补充 8 卡启动方式说明。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!2651 个月前
add udma amo api Co-authored-by: YeZZzzz1<yezhenni1@huawei.com> # message auto-generated for no-merge-commit merge: !257 merge master into master add udma amo api Created-by: YeZZzzz1 Commit-by: YeZZzzz1 Merged-by: cann-robot Description: ## 描述 UDMA场景支持AMO接口 ## 关联的Issue https://gitcode.com/cann/shmem/issues/199 ## 测试 examples: ![image.png](https://raw.gitcode.com/user-images/assets/8546182/7ff2c057-cff9-4866-9e23-11c9a4a227f5/image.png 'image.png') ut: atomic add ![image.png](https://raw.gitcode.com/user-images/assets/8546182/0e3f991e-264d-4793-9dac-54c78764d2c6/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8546182/6bf70b01-740e-4973-bc61-cf3753439f14/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8546182/56bebf9d-a9c3-4a71-8fff-26882f08d35f/image.png 'image.png') atomic fetch add ![image.png](https://raw.gitcode.com/user-images/assets/8546182/d591551a-d1e5-44b0-9505-ce74bee2cae2/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8546182/6500f6d5-6590-45eb-8aad-9e15825ffcbd/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8546182/74034f39-f0a1-4b28-ac7b-30d1ae3148d3/image.png 'image.png') atomic compare swap ![image.png](https://raw.gitcode.com/user-images/assets/8546182/d12a250e-bb8a-4725-aa34-0f24c700d289/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8546182/c4a81b2e-6237-43cb-b1f2-36432b1c1d5f/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8546182/711c52ce-640d-410b-8945-15bed3761db9/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!2571 个月前
fix(udma): align RaInit with RDMA to coexist with HCCL (Fix #271) Co-authored-by: suqwe<sujianjia@huawei.com> # message auto-generated for no-merge-commit merge: !372 merge fix/issue-271-udma-rainit-coexist into master fix(udma): align RaInit with RDMA to coexist with HCCL (Fix #271) Created-by: suqwe Commit-by: suqwe Merged-by: cann-robot Description: ## 现象 同一进程内同时使用 UDMA 与 HCCL 时,UDMA 的 RaInit 会失败,因为底层 rainit 在同一进程内不允许被调用多于一次:UDMA 的 RaInit 与 HCCL 各自都会调用一次。 详见 issue #271。 ## 修复 参照 RdmaTransportManager::RaInitsrc/host/transport/device_rdma/device_rdma_transport_manager.cpp:369)中已经验证可用的写法,对 UdmaTransportManager::RaInit 做对齐: - RaInit 调用前先 sleep_for(3s) 让 HCCL 的初始化先落地,规避并发竞争; - RaInit 返回非 0 时不再返回 false,改为打 WARN 日志、再 sleep_for(3s)、置 raInitialized_ = truereturn true,理由是此时多半是 HCCL 已经把 RA 初始化好了,UDMA 直接复用即可。 这是与 RDMA 路径完全一致的退让策略,不引入新行为。 ## 变更点 - src/host/transport/device_udma/device_udma_transport_manager.cpp - 新增 <chrono> / <thread> 头文件; - 在 RaInit 中加入 pre-call 与 post-failure 两次 sleep_for(WAIT_TIME); - 失败分支改为 WARN + 置位 + 返回 true,与 RDMA 一致。 ## 验证 - cmake --build build --target shmem:PASS。 Fix #271 See merge request: cann/shmem!3726 天前
feat: add generated rootinfo fallback Co-authored-by: hbhdhd<luxianbin1@huawei.com> # message auto-generated for no-merge-commit merge: !315 merge rootinfo into master feat: add generated rootinfo fallback Created-by: hbhdhd Commit-by: hbhdhd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 UDMA 场景补充 rootinfo 自动生成 fallback 能力,提升网络 Topo 自动发现流程的可用性和部署兼容性。 当前 UDMA 初始化依赖 rootinfo/topo 信息完成 EID 路由选择。如果固定路径 /etc/hccl_rootinfo.json 不存在、解析失败或内容不可用,原流程会直接导致初始化失败。本次修改在保留优先读取本地 rootinfo 文件的基础上,增加通过 topo_addr_info_get_sizetopo_addr_info_get 动态生成 rootinfo 的兜底路径。 主要改动包括: - TopoReader::ParseRootInfo 支持按当前 phyId 获取 rootinfo。 - 优先读取 /etc/hccl_rootinfo.json,失败后 fallback 到 generated rootinfo。 - 统一复用 ParseRootInfoJson 解析文件 rootinfo 和生成 rootinfo。 - rootinfo 解析按当前物理设备过滤,只保留当前 phyId 对应的 rank 条目。 - 支持 EIDIPV4IPV6 地址格式解析并转换为 UDMA 使用的 raw EID。 - UDMA 初始化流程中增加 logic device 到 phy device 的映射,确保 rootinfo 和底层 RA 查询使用一致的物理设备 ID。 - 增加 ACL 动态加载接口,用于获取当前逻辑 device 对应的物理 device ID。 该修改可以降低 UDMA Topo 自动发现对固定 rootinfo 文件的强依赖,在 rootinfo 文件缺失或不可用时仍可尝试通过系统生成信息完成初始化。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> Issue [#175](https://gitcode.com/cann/shmem/issues/175) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ![ex.png](https://raw.gitcode.com/user-images/assets/8546182/9f814041-e74d-4469-a26c-dc9cde2b12ee/ex.png 'ex.png') ![ut.png](https://raw.gitcode.com/user-images/assets/8546182/675c3643-08ca-49c2-a18c-04bfa3ca51ea/ut.png 'ut.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!31518 天前