文件最后提交记录最后更新时间
fix: load aclrtGetPhyDevIdByLogicDevId only for UDMA Co-authored-by: hbhdhd<luxianbin1@huawei.com> # message auto-generated for no-merge-commit merge: !382 merge fix into master fix: load aclrtGetPhyDevIdByLogicDevId only for UDMA Created-by: hbhdhd Commit-by: hbhdhd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次修改用于修复旧版本 CANN 环境下动态加载 aclrtGetPhyDevIdByLogicDevId 符号失败的问题。 当前 shm::DlAclApi::LoadLibrary 会通过 dlopen 打开 libascendcl.so,并通过 DL_LOAD_SYM 加载 ACL/RT 相关函数符号。其中 aclrtGetPhyDevIdByLogicDevId 在旧版本 CANN 中不支持,如果无条件执行 dlsym 加载,会导致符号不存在、动态加载失败,进而影响初始化流程。 aclrtGetPhyDevIdByLogicDevId 当前主要用于 UDMA 场景,在 UdmaTransportManager::PrepareOpenDevice 中通过 DlAclApi::AclrtGetPhyDevIdByLogicDevId 将逻辑 device id 转换为物理 phyId,用于后续解析 rootinfo 和初始化 UDMA 传输。 默认的加载 DL_LOAD_SYM 会加载并做空值判断,在没有符号的环境会报错,调整为使用 dlsym,没有符号则输出 warn。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> [#277](https://gitcode.com/cann/shmem/issues/277) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 旧版本 CANN 环境下,无对应符号场景不会再加载 aclrtGetPhyDevIdByLogicDevId,避免因符号不存在导致加载失败。 - 验证 DlAclApi::LoadLibrary 初始化流程可正常执行。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!3821 天前
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 天前
支持AIV直驱UDMA功能,控制面主流程 Co-authored-by: YeZZzzz1<yezhenni1@huawei.com> # message auto-generated for no-merge-commit merge: !194 merge master into master 支持AIV直驱UDMA功能,控制面主流程 Created-by: YeZZzzz1 Commit-by: YeZZzzz1 Merged-by: cann-robot Description: ## 描述 支持AIV直驱UDMA功能,主流程部分修改 ## 关联的Issue https://gitcode.com/cann/shmem/issues/161 ## 测试 功能测试: - examples: ![image.png](https://raw.gitcode.com/user-images/assets/8546182/b945a60d-bda4-4dcd-9647-8ba943772be6/image.png 'image.png') - ut: ![image.png](https://raw.gitcode.com/user-images/assets/8546182/cbbbc7a2-e279-447f-a6c1-9eeb7567d43e/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1942 个月前
支持AIV直驱UDMA功能,控制面主流程 Co-authored-by: YeZZzzz1<yezhenni1@huawei.com> # message auto-generated for no-merge-commit merge: !194 merge master into master 支持AIV直驱UDMA功能,控制面主流程 Created-by: YeZZzzz1 Commit-by: YeZZzzz1 Merged-by: cann-robot Description: ## 描述 支持AIV直驱UDMA功能,主流程部分修改 ## 关联的Issue https://gitcode.com/cann/shmem/issues/161 ## 测试 功能测试: - examples: ![image.png](https://raw.gitcode.com/user-images/assets/8546182/b945a60d-bda4-4dcd-9647-8ba943772be6/image.png 'image.png') - ut: ![image.png](https://raw.gitcode.com/user-images/assets/8546182/cbbbc7a2-e279-447f-a6c1-9eeb7567d43e/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1942 个月前
【fix】从v1.3.0分支引入vmmBasedSegment 虚拟内存分配机制,修复AICPU算子加载失败问题 + 多实例问题 Co-authored-by: james88liu<liujianxing1@huawei.com> Co-authored-by: zhu-wangyi<zhuwangyi@huawei.com> Co-authored-by: zhangyunqi<zhangyunqi5@huawei.com> # message auto-generated for no-merge-commit merge: !404 merge bug_fix/multi_instance_fix into master 【fix】从v1.3.0分支引入vmmBasedSegment 虚拟内存分配机制,修复AICPU算子加载失败 + 多实例问题 Created-by: zhu-wangyi Commit-by: zhu-wangyi;zhangyunqi;james88liu Merged-by: cann-robot Description: ## 描述 引入v1.3.0对底层虚拟内存申请的修改,修复多实例冲突问题,修复AICPU算子加载失败问题。 ## 关联的Issue https://gitcode.com/cann/shmem/issues/207 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!40412 小时前
【fix】从v1.3.0分支引入vmmBasedSegment 虚拟内存分配机制,修复AICPU算子加载失败问题 + 多实例问题 Co-authored-by: james88liu<liujianxing1@huawei.com> Co-authored-by: zhu-wangyi<zhuwangyi@huawei.com> Co-authored-by: zhangyunqi<zhangyunqi5@huawei.com> # message auto-generated for no-merge-commit merge: !404 merge bug_fix/multi_instance_fix into master 【fix】从v1.3.0分支引入vmmBasedSegment 虚拟内存分配机制,修复AICPU算子加载失败 + 多实例问题 Created-by: zhu-wangyi Commit-by: zhu-wangyi;zhangyunqi;james88liu Merged-by: cann-robot Description: ## 描述 引入v1.3.0对底层虚拟内存申请的修改,修复多实例冲突问题,修复AICPU算子加载失败问题。 ## 关联的Issue https://gitcode.com/cann/shmem/issues/207 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!40412 小时前
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 天前
UDMA场景支持rootinfo自动生成 Co-authored-by: suqwe<sujianjia@huawei.com> # message auto-generated for no-merge-commit merge: !302 merge master into master UDMA场景支持rootinfo自动生成 Created-by: suqwe Commit-by: suqwe Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> UDMA场景支持rootinfo自动生成 ### 简介 昇腾芯片在950代际中, 超平面使用Unified Bus总线组网,在不同产品形态中使用多种不同的拓扑组网方式, 本模块用于在发现在不同拓扑下每条边的端点地址 #### 组网介绍 组网主要采用了MESH和CLOS两种类型组网。相关介绍可参考论文:https://arxiv.org/abs/2503.20377 ##### mesh组网 即每个NPU之间均有一条直连的物理链路,因此有一对独立的通信地址。 例如在同一个NPU板上有8个NPU,因此存在8*7/2 = 28条物理路径,即28对通信地址 ##### CLOS组网 任意两个NPU之间通过交换芯片转发。 因此一个NPU址需要一个地址。 在常见组网中,由于可靠性等原因,CLOS组网通常可以分为多个平面,每个平面对应一个地址。例如在液冷POD中,NPU使用两个独立的逻辑口连接两个分开的网络平面 ##### 组网规划 #### 网络层级说明 在950芯片代际中,按通信质量和范围,将网络划分为多层 | 网络层级| 说明 | |:-------| :-----------| |0 |通信质量最高,时延最低。多为MESH组网,主要是同一个NPU单板内的fullmesh网络和POD形态的框级网络| |1 |通信质量次高,时延中等。为CLOS组网, 通信范围较大,为超节点范围, 仍然在scale up范围内 | |2 |通信质量最低,CLOS组网, 通信范围为整个集群,主要是ROCE或者UBOE这类scale out网络| ##### 网络地址说明 | 网络层级| 说明 | |:-------| :-----------| |0 | 由于是mesh组网为主,因此有多对通信地址, 在topo addr info中表达为每个NPU上每个端口的地址, 地址类型为EID | |1 | 根据组网平面填写地址, 多平面组网时,地址数量于平面数量相同 , 集合通信在不同平面之间做流量分担 ,地址类型为EID| |2 |地址规划域层1相同, 地址类型为IP地址| ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/shmem/issues/175 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT用例 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/95df7a81-91f5-4e60-b97c-dbe883118b21/image.png 'image.png') 测试 [root@localhost aclshmem-master]# ./build/bin/root_info_generate 3 Generating root info for NPU with physical ID: 3 Required buffer size: 2048 bytes topo_addr_info_get succeeded, actual size: 1329 bytes Rank info: {"version": "2.0","topo_file_path": "/usr/local/Ascend/driver/topo/950/atlas_850_1.json","rank_count": 1,"rank_list": [{"device_id": 3,"local_id": 3,"level_list": [{"net_layer": 0,"net_instance_id": "sp-1_srv65535","net_type": "MESH","net_attr": "","rank_addr_list": [{"addr_type": "EID","addr": "000000000000006000100000dfdf008b","plane_id": "plane_1","ports": ["1/0"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf00cb","plane_id": "plane_1","ports": ["1/8"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf00c3","plane_id": "plane_1","ports": ["1/7"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf00ab","plane_id": "plane_1","ports": ["1/4"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf00a3","plane_id": "plane_1","ports": ["1/3"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf009b","plane_id": "plane_1","ports": ["1/2"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf0093","plane_id": "plane_1","ports": ["1/1"]}]}, {"net_layer": 1,"net_instance_id": "superpod_-1","net_type": "CLOS","net_attr": "","rank_addr_list": [{"addr_type": "EID","addr": "000000000000004000100000dfdf00df","plane_id": "plane_1","ports": ["1/5","1/6"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf005f","plane_id": "plane_0","ports": ["0/4","0/5","0/6","0/7"]}]}]}]} Topology file path: /usr/local/Ascend/driver/topo/950/atlas_850_1.json Root info generation completed successfully ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!30228 天前
UDMA场景支持rootinfo自动生成 Co-authored-by: suqwe<sujianjia@huawei.com> # message auto-generated for no-merge-commit merge: !302 merge master into master UDMA场景支持rootinfo自动生成 Created-by: suqwe Commit-by: suqwe Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> UDMA场景支持rootinfo自动生成 ### 简介 昇腾芯片在950代际中, 超平面使用Unified Bus总线组网,在不同产品形态中使用多种不同的拓扑组网方式, 本模块用于在发现在不同拓扑下每条边的端点地址 #### 组网介绍 组网主要采用了MESH和CLOS两种类型组网。相关介绍可参考论文:https://arxiv.org/abs/2503.20377 ##### mesh组网 即每个NPU之间均有一条直连的物理链路,因此有一对独立的通信地址。 例如在同一个NPU板上有8个NPU,因此存在8*7/2 = 28条物理路径,即28对通信地址 ##### CLOS组网 任意两个NPU之间通过交换芯片转发。 因此一个NPU址需要一个地址。 在常见组网中,由于可靠性等原因,CLOS组网通常可以分为多个平面,每个平面对应一个地址。例如在液冷POD中,NPU使用两个独立的逻辑口连接两个分开的网络平面 ##### 组网规划 #### 网络层级说明 在950芯片代际中,按通信质量和范围,将网络划分为多层 | 网络层级| 说明 | |:-------| :-----------| |0 |通信质量最高,时延最低。多为MESH组网,主要是同一个NPU单板内的fullmesh网络和POD形态的框级网络| |1 |通信质量次高,时延中等。为CLOS组网, 通信范围较大,为超节点范围, 仍然在scale up范围内 | |2 |通信质量最低,CLOS组网, 通信范围为整个集群,主要是ROCE或者UBOE这类scale out网络| ##### 网络地址说明 | 网络层级| 说明 | |:-------| :-----------| |0 | 由于是mesh组网为主,因此有多对通信地址, 在topo addr info中表达为每个NPU上每个端口的地址, 地址类型为EID | |1 | 根据组网平面填写地址, 多平面组网时,地址数量于平面数量相同 , 集合通信在不同平面之间做流量分担 ,地址类型为EID| |2 |地址规划域层1相同, 地址类型为IP地址| ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/shmem/issues/175 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT用例 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/95df7a81-91f5-4e60-b97c-dbe883118b21/image.png 'image.png') 测试 [root@localhost aclshmem-master]# ./build/bin/root_info_generate 3 Generating root info for NPU with physical ID: 3 Required buffer size: 2048 bytes topo_addr_info_get succeeded, actual size: 1329 bytes Rank info: {"version": "2.0","topo_file_path": "/usr/local/Ascend/driver/topo/950/atlas_850_1.json","rank_count": 1,"rank_list": [{"device_id": 3,"local_id": 3,"level_list": [{"net_layer": 0,"net_instance_id": "sp-1_srv65535","net_type": "MESH","net_attr": "","rank_addr_list": [{"addr_type": "EID","addr": "000000000000006000100000dfdf008b","plane_id": "plane_1","ports": ["1/0"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf00cb","plane_id": "plane_1","ports": ["1/8"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf00c3","plane_id": "plane_1","ports": ["1/7"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf00ab","plane_id": "plane_1","ports": ["1/4"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf00a3","plane_id": "plane_1","ports": ["1/3"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf009b","plane_id": "plane_1","ports": ["1/2"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf0093","plane_id": "plane_1","ports": ["1/1"]}]}, {"net_layer": 1,"net_instance_id": "superpod_-1","net_type": "CLOS","net_attr": "","rank_addr_list": [{"addr_type": "EID","addr": "000000000000004000100000dfdf00df","plane_id": "plane_1","ports": ["1/5","1/6"]},{"addr_type": "EID","addr": "000000000000006000100000dfdf005f","plane_id": "plane_0","ports": ["0/4","0/5","0/6","0/7"]}]}]}]} Topology file path: /usr/local/Ascend/driver/topo/950/atlas_850_1.json Root info generation completed successfully ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!30228 天前
A2 & A3 support C10 version Co-authored-by: james88liu<liujianxing1@huawei.com> # message auto-generated for no-merge-commit merge: !199 merge br_fix_check_version into master A2 & A3 support C10 version Created-by: james88liu Commit-by: james88liu Merged-by: cann-robot Description: ## 描述 A2 & A3使用C10以及C23驱动版本,使用hal接口完成内存预留和映射 ## 测试 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/487bd136-e6dd-4437-8c28-b0afd224ae4e/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8546182/a1e911b2-e004-4c30-a5ec-a736b354934e/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1992 个月前
适配A5 new HDK for mte Co-authored-by: james88liu<liujianxing1@huawei.com> # message auto-generated for no-merge-commit merge: !93 merge br_fix_cann_build into master 适配A5 new HDK for mte Created-by: james88liu Commit-by: james88liu Merged-by: cann-robot Description: ## 描述 适配A5硬件,并基于新硬件调试mte接口示例 ## 关联的Issue https://gitcode.com/cann/shmem/issues/104 ## 测试 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/4005e03c-98e8-466a-8d6c-c04e7fe43934/image.png 'image.png') A5: ![image.png](https://raw.gitcode.com/user-images/assets/8546182/e7cf810b-795a-450d-9b6a-fa214998f755/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!933 个月前
目录更新 Co-authored-by: james88liu<liujianxing1@huawei.com> # message auto-generated for no-merge-commit merge: !87 merge br_dir_1 into master 目录更新 Created-by: james88liu Commit-by: james88liu Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/shmem/issues/63 ## 测试 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/c6cf947b-7583-4e9e-aa14-105f025c4314/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8546182/cf5148a7-5e17-4b26-9321-c16504910460/image.png 'image.png') ## 文档更新 ``` ├── bootstrap │   ├── config_store │   │   ├── CMakeLists.txt │   │   ├── acc_links │   │   │   ├── csrc │   │   │   │   ├── common │   │   │   │   ├── security │   │   │   │   └── under_api │   │   │   │   └── openssl │   │   │   └── include │   ├── shmemi_bootstrap_mpi.cpp │   ├── shmemi_bootstrap_uid.cpp │   └── socket │   ├── uid_socket.cpp │   ├── uid_socket.h │   └── uid_utils.h ├── data_plane │   ├── shmem_host_cc.cpp │   └── shmem_host_rma.cpp ├── entity │   ├── mem_entity_base.h │   ├── mem_entity_def.h ├── init │   ├── backends │   │   ├── shmem_init_backend.cpp │   │   └── shmemi_init_backend.h │   ├── bootstrap │   │   ├── shmemi_bootstrap.cpp │   │   └── shmemi_bootstrap.h │   ├── shmem_init.cpp │   └── shmemi_init.h ├── mem │   ├── heap │   │   ├── driver │   │   │   ├── devmm_cmd.h │   │   │   └── userspace │   │   │   ├── devmm_define.h │   │   ├── hybm_mem_slice.cpp │   │   └── hybm_mem_slice.h │   ├── shmem_mgr.cpp │   ├── shmem_mm.cpp │   ├── shmem_rma.cpp │   ├── shmemi_mgr.h │   └── shmemi_mm.h ├── python_wrapper │   ├── CMakeLists.txt │   └── pyshmem.cpp ├── shmemi_host_common.h ├── shmemi_host_def.h ├── sync │   ├── shmemi_sync.cpp │   └── shmemi_sync.h ├── team │   ├── shmem_team.cpp │   └── shmemi_team.h ├── transport │   ├── device_rdma │   ├── transport_def.h │   ├── transport_manager.cpp │   └── transport_manager.h └── utils ├── log │   ├── shmemi_log_defs.h │   └── shmemi_logger.cpp ├── shmemi_file_util.h ├── under_api │   ├── dl_acl_api.cpp │   ├── dl_acl_api.h └── utils.h ``` ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!874 个月前
fix clean code Co-authored-by: james88liu<liujianxing1@huawei.com> # message auto-generated for no-merge-commit merge: !186 merge br_fix_cleancode_0317 into master fix clean code Created-by: james88liu Commit-by: james88liu Merged-by: cann-robot Description: ## 描述 clean code ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1862 个月前
修复A3上读网卡ip出错的问题 Co-authored-by: vector5<caobingjie@huawei.com> # message auto-generated for no-merge-commit merge: !375 merge fixrdma into master 修复A3上读网卡ip出错的问题 Created-by: vector5 Commit-by: vector5 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复A3上读网卡ip出错的问题。 hcomm 定义 ( hccp_common.h ): ``` struct IfaddrInfo { union HccpIpAddr ip; // IP 地址 struct in_addr mask; // IPv4 掩码 }; struct InterfaceInfo { int family; int scopeId; struct IfaddrInfo ifaddr; char ifname[MAX_INTERFACE_NAME_LEN]; }; ``` shmem 定义 ( dl_hccp_def.h ): ``` struct HccpIfaddrInfo { HccpIpAddr ip; // IP 地址 struct in_addr mask; // IPv4 掩码 struct in6_addr maskv6; // IPv6 掩码 ← 多了这个字段! }; struct HccpInterfaceInfo { int family; int scopeId; HccpIfaddrInfo ifaddr; char ifname[HCCP_MAX_INTERFACE_NAME_LEN]; }; ``` shmem 的 HccpIfaddrInfo 多了一个 maskv6 字段 (16字节),导致config.isAll = true时无法获取第二个网卡的ip,解析出来是掩码: 1. 结构体大小不匹配 :底层库按 hcomm 结构体填充,shmem 按自己的结构体读取 2. 内存布局错位 :第二个接口条目的数据被错误解析 这就是为什么日志显示: - family=0 (实际是上一个条目的掩码数据被误读) - ip=255.255.0.0 (掩码值被当作 IP 读取) 修改方案:配置参数改为false只获取特定phyid的网卡 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> https://gitcode.com/cann/shmem/issues/274 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> A2测试 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/2cc2753b-5277-4173-b10b-8458404cf2eb/image.png 'image.png') A2跨机16卡(cann82T) ![image.png](https://raw.gitcode.com/user-images/assets/8546182/58d384b7-3297-4bc5-8555-40e5d1da969f/image.png 'image.png') A3测试 单机16卡 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/4704ad40-e8dc-48f8-ba4e-ebdb90e3a5a7/image.png 'image.png') 跨机32卡 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/7ecf077d-aa66-4eb7-b391-27957caddca8/image.png 'image.png') ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!3753 天前
支持AIV直驱UDMA功能,新增HCCP V2接口封装 Co-authored-by: mizuki_p<wanghan157@huawei.com> # message auto-generated for no-merge-commit merge: !195 merge udma_support into master 支持AIV直驱UDMA功能,HCCP接口封装部分 Created-by: mizuki_p Commit-by: mizuki_p Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 参考HCCP v2接口,以及库中封装HCCP v1的接口实现,新增HCCP v2的封装 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [\[Task|任务\]: SHMEM支持AIV直驱UDMA](https://gitcode.com/cann/shmem/issues/161) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ![image.png](https://raw.gitcode.com/user-images/assets/8546182/e8bd924f-ab43-4d1a-b7a4-d5c04bb9592e/image.png 'image.png') 编译通过,测试将在其他上层模块中一起进行 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1952 个月前
支持AIV直驱UDMA功能,新增HCCP V2接口封装 Co-authored-by: mizuki_p<wanghan157@huawei.com> # message auto-generated for no-merge-commit merge: !195 merge udma_support into master 支持AIV直驱UDMA功能,HCCP接口封装部分 Created-by: mizuki_p Commit-by: mizuki_p Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 参考HCCP v2接口,以及库中封装HCCP v1的接口实现,新增HCCP v2的封装 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [\[Task|任务\]: SHMEM支持AIV直驱UDMA](https://gitcode.com/cann/shmem/issues/161) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ![image.png](https://raw.gitcode.com/user-images/assets/8546182/e8bd924f-ab43-4d1a-b7a4-d5c04bb9592e/image.png 'image.png') 编译通过,测试将在其他上层模块中一起进行 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1952 个月前
UDMA场景兼容ip地址的rootinfo信息解析 Co-authored-by: hbhdhd<luxianbin1@huawei.com> # message auto-generated for no-merge-commit merge: !294 merge topo-eid into master UDMA场景兼容ip地址的rootinfo信息解析 Created-by: hbhdhd Commit-by: hbhdhd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增UDMA场景下rootinfo对IPv4/IPv6地址的解析与转换能力,实现IP地址到EID格式的自动转换,支持通过IP地址直接配置rootinfo,解决原有仅支持EID配置的使用限制。 1. 新增IPv4地址解析函数 ParseIpv4EidRaw,实现IP到标准EID格式转换 2. 新增IPv6地址解析函数 ParseIpv6EidRaw,统一格式规范 3. 新增 URMA_EID_IPV4_PREFIX 标识,用于区分IP类型 4. 补充异常场景日志,便于问题定位 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> Issue [#219](https://gitcode.com/cann/shmem/issues/219) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ![Snipaste_2026-04-30_10-30-31.png](https://raw.gitcode.com/user-images/assets/8546182/7908ae92-d3ec-441e-a41a-1ced9fdaacb7/Snipaste_2026-04-30_10-30-31.png 'Snipaste_2026-04-30_10-30-31.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!29430 天前
支持SDMA特性 Co-authored-by: jiang-xinyu3<jiangxinyu3@hisilicon.com> Co-authored-by: vector5<caobingjie@huawei.com> # message auto-generated for no-merge-commit merge: !101 merge sdma into master 支持SDMA特性 Created-by: jiangxinyu3 Commit-by: jiang-xinyu3;vector5 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue #58 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> [examples](http://image.huawei.com/tiny-lts/v1/images/hi3ms/d739b4802bcf078a130014d2394fd91f_882x665.png) [UT](http://image.huawei.com/tiny-lts/v1/images/hi3ms/3bc2ce6d8b83a01842353c2061ec1747_1020x403.png) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1013 个月前
支持SDMA特性 Co-authored-by: jiang-xinyu3<jiangxinyu3@hisilicon.com> Co-authored-by: vector5<caobingjie@huawei.com> # message auto-generated for no-merge-commit merge: !101 merge sdma into master 支持SDMA特性 Created-by: jiangxinyu3 Commit-by: jiang-xinyu3;vector5 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue #58 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> [examples](http://image.huawei.com/tiny-lts/v1/images/hi3ms/d739b4802bcf078a130014d2394fd91f_882x665.png) [UT](http://image.huawei.com/tiny-lts/v1/images/hi3ms/3bc2ce6d8b83a01842353c2061ec1747_1020x403.png) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1013 个月前
use aclrtCreateStream instead of rtsStreamCreate Co-authored-by: jiang-xinyu3<jiangxinyu3@hisilicon.com> # message auto-generated for no-merge-commit merge: !137 merge aclrt into master use aclrtCreateStream instead of rtsStreamCreate Created-by: jiangxinyu3 Commit-by: jiang-xinyu3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1373 个月前
use aclrtCreateStream instead of rtsStreamCreate Co-authored-by: jiang-xinyu3<jiangxinyu3@hisilicon.com> # message auto-generated for no-merge-commit merge: !137 merge aclrt into master use aclrtCreateStream instead of rtsStreamCreate Created-by: jiangxinyu3 Commit-by: jiang-xinyu3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1373 个月前
支持SDMA特性 Co-authored-by: jiang-xinyu3<jiangxinyu3@hisilicon.com> Co-authored-by: vector5<caobingjie@huawei.com> # message auto-generated for no-merge-commit merge: !101 merge sdma into master 支持SDMA特性 Created-by: jiangxinyu3 Commit-by: jiang-xinyu3;vector5 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue #58 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> [examples](http://image.huawei.com/tiny-lts/v1/images/hi3ms/d739b4802bcf078a130014d2394fd91f_882x665.png) [UT](http://image.huawei.com/tiny-lts/v1/images/hi3ms/3bc2ce6d8b83a01842353c2061ec1747_1020x403.png) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1013 个月前