hixl:基于昇腾芯片的单边通信库项目

HIXL(Huawei Xfer Library)是一个灵活、高效的昇腾单边通信库,面向集群场景提供简单、可靠、高效的点对点数据传输能力。

Branch8Tags0
FilesLast commitLast update
docs: add pipeline script copyright headers Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !563 merge add_copywrite into master docs: add pipeline script copyright headers Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [x] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 为 .agents/skills/gitcode-pipeline/scripts 下的 shell 脚本补充版权说明,保持与 .agents/skills/hixl-troubleshoot/scripts/deps.sh 中的版权声明一致。 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> - 对修改的 shell 脚本执行语法检查:bash -n .agents/skills/gitcode-pipeline/scripts/*.sh ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> - bash -n 检查通过。 ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> 无。 See merge request: cann/hixl!5637 days ago
[docs]: 优化补充HIXL相关目录文档&新增hixl-review skill Co-authored-by: A-Liuhao<liuhao276@hisilicon.com> # message auto-generated for no-merge-commit merge: !364 merge standardize_skills_dir into master [docs]: 优化补充HIXL相关目录文档&新增hixl-review skill Created-by: A-Liuhao Commit-by: A-Liuhao Merged-by: cann-robot Description: ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [x] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 1. 规范化Agent相关目录; 2. 优化README.md,贡献指南和pre-commit使用指导; 3. 新增hixl-review代码检视skill。 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> 测试hixl-review skill的效果。 ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> 基于[PR#359](https://gitcode.com/cann/hixl/pull/359 )进行了hixl-review能力验证。 ![image.png](https://raw.gitcode.com/user-images/assets/7838749/57ffacc7-0c61-4377-9f0b-916647fbef33/image.png 'image.png') ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!3641 month ago
[bugfix]修复黄区代码告警 Co-authored-by: lugang11<lugang11@huawei.com> # message auto-generated for no-merge-commit merge: !533 merge master into master [bugfix]修复黄区代码告警 Created-by: lugang11 Commit-by: lugang11 Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 修改黄区代码告警 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> 无需新增测试项 ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> ![image.png](https://raw.gitcode.com/user-images/assets/7838749/0d69e97c-f132-46e1-a6b3-48491ef56f11/image.png 'image.png') ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!53312 days ago
[refactor]: delete Find*.cmake in modules Co-authored-by: Rentianqi<rentianqi3@huawei.com> # message auto-generated for no-merge-commit merge: !482 merge A5_dev into master [refactor]: delete Find*.cmake in modules Created-by: AlexRen998916 Commit-by: Rentianqi Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 删除modules路径下的所有Find*.cmake文件 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> 本地和流水线通过编译 ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> 本地和流水线均编译成功 ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!4826 days ago
[bugfix]: fix slog link error on device Co-authored-by: Rentianqi<rentianqi3@huawei.com> # message auto-generated for no-merge-commit merge: !580 merge A5_dev into master [bugfix]: fix slog link error on device Created-by: AlexRen998916 Commit-by: Rentianqi Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 原来的slog库在device侧链接时是自己生成一个stub,现在cmake仓上的Findslog.cmake里定义了真实的slog库,链接时会链接错误的库导致api无法获取,现在使用别名slog_dev,并在device侧去寻找libslog.so ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!5804 days ago
处理检视意见 17 hours ago
[refactor]: delete Find*.cmake in modules Co-authored-by: Rentianqi<rentianqi3@huawei.com> # message auto-generated for no-merge-commit merge: !482 merge A5_dev into master [refactor]: delete Find*.cmake in modules Created-by: AlexRen998916 Commit-by: Rentianqi Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 删除modules路径下的所有Find*.cmake文件 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> 本地和流水线通过编译 ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> 本地和流水线均编译成功 ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!4826 days ago
[bugfix]: HIXL CS支持listen_port 配置 Co-authored-by: zhaozhihui<zhaozhihui3@yeah.net> # message auto-generated for no-merge-commit merge: !587 merge bugfix/cs-listen-port-config into master [bugfix]: HIXL CS支持listen_port 配置 Created-by: zhaozhihui Commit-by: zhaozhihui Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 支持在 HIXL CS 的 Client config 中透传 global_resource_config,解析 comm_resource_config.listen_port 后随 match endpoint 请求发送到服务端。服务端优先使用请求携带的 listen port,未配置时保持原有 HcommEndpointGetListenPort 查询逻辑。Server config 仍保持预留字段,不解析 global_resource_config。 同时补充 config 结构体大小校验、listen_port 边界解析用例,并在 device transfer 提交流程中扩大锁保护范围,避免并发线程共享 stream 或触发 Abort 时互相影响。 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> - 新增/更新 C++ UT:HixlCSClientUTglobal_resource_config 解析和 listen_port 边界场景。 - 新增/更新 C++ UT:HixlCSTest 的 config 结构体大小校验和 Server NULL config 场景。 - 执行 git diff --check。 - 曾启动 bash tests/run_test.sh -t cpp,但按提交要求未等待其完成。 ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> | 测试项 | 结果 | | --- | --- | | git diff --check | 通过 | | bash tests/run_test.sh -t cpp | 已启动,按要求未等待完成,未作为最终验证结果 | ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> 目标分支:cann/hixl:master。 See merge request: cann/hixl!5873 days ago
处理检视意见 17 hours ago
[bugfix]release active transfer slot when idle Co-authored-by: zhaozhihui<zhaozhihui3@yeah.net> # message auto-generated for no-merge-commit merge: !593 merge bugfix-release-active-slot into master [bugfix]release active transfer slot when idle Created-by: zhaozhihui Commit-by: zhaozhihui Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 修复 HixlCSClient device 传输 active_slot_ 释放条件错误的问题。原逻辑使用 active_slot_.use_count() == 0 判断是否归还 slot,但 active_slot_ 自身持有强引用,正常不会降到 0,导致传输完成后 slot 长期保持占用。 本次改动在释放传输完成句柄时,若只剩 active_slot_ 自身引用,则归还 TransferPool 并清空 active_slot_;同时使用 std::move 将局部 slot 引用转移给完成句柄,避免局部引用影响空闲判断。 ## 测试项 - 单卡和多卡超过128并发建链并传输 ## 测试结果 - 通过 ## Checklist - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) 无。 See merge request: cann/hixl!5932 days ago
[refactor] Add logging to GetTransferStatus function. Co-authored-by: zhangcheng<zhangcheng299@huawei.com> # message auto-generated for no-merge-commit merge: !592 merge log into master [refactor] Add logging to GetTransferStatus function. Created-by: M__Cheng Commit-by: zhangcheng Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 在hixl engine 的GetTransferStatus 接口中补充日志信息 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> - DirectClientHandlerGetTransferStatusWaiting - UbClientHandlerGetTransferStatusNoTransfer - UbClientHandlerGetTransferStatusCompleted ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> PASS ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!5922 days ago
[bugfix]: 回退clang-format修改 Co-authored-by: A-Liuhao<liuhao276@hisilicon.com> # message auto-generated for no-merge-commit merge: !346 merge revert_clang_format into master [bugfix]: 回退clang-format修改 Created-by: A-Liuhao Commit-by: A-Liuhao Merged-by: cann-robot Description: ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 回退clang-format修改,和当前风格保持一致 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!3462 months ago
[bugfix]: harden transfer message validation and boundary checks Co-authored-by: youyx<youxiao@huawei.com> # message auto-generated for no-merge-commit merge: !542 merge feat/security-validation-hardening into master [bugfix]: harden transfer message validation and boundary checks Created-by: youyx Commit-by: youyx Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 ## 背景 针对传输链路、消息解析、Swap 块映射等路径补充安全加固,防止越界读写、恶意超大 JSON/请求体及不一致的 req_size 导致内存安全问题。 ## 原因 - memmove_s 的 dst_max 误用 remaining 而非 buffer 容量,存在潜在越界风险 - TransferCacheReq/Response 缺少统一的大小与 layout 校验 - SwapBlocks 未校验 block index 与地址范围 - rank_table JSON 未限制 comm_res 大小 ## 方案 - 新增 transfer_message_limits.h 统一请求/响应 buffer 布局常量与 Calc* 辅助函数 - send_state / d2h / data_transfer_client / comm_entity 增加 req_size、dst_addr_count、transfer_info_count 校验 - swap_impl 增加 block mapping 与地址溢出检查;channel_manager 异常时 ResetRecvState - control_msg_handler Write 在 EAGAIN 时使用 poll 等待,避免忙等 - ValidateBufferInfoLens 允许 D2H 合法路径 buffer_info_count==0,count>0 时仍校验 buffer_len - 补充快速单元测试(msg_receiver、transfer_message_limits、comm_mem_manager 等),llm_datadist 315/315 通过 ## 测试项 - [x] llm_datadist_test 全量 315/315 通过 - [x] hixl_test(排除 Uboe 环境依赖)392/392 通过 - [x] 增量覆盖率 84%(diff-cover vs HEAD) ## 测试结果 本地 UT 已通过;GitCode 流水线待 compile 触发后更新。 ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) 无 See merge request: cann/hixl!54210 days ago
[bugfix]: fix pre-commit url Co-authored-by: A-Liuhao<liuhao276@hisilicon.com> # message auto-generated for no-merge-commit merge: !474 merge fix_pre_commit_url into master [bugfix]: fix pre-commit url Created-by: A-Liuhao Commit-by: A-Liuhao Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> fix issue [#276](https://gitcode.com/cann/hixl/issues/276) ,将ymal中的github链接换成gitcode镜像仓,参考https://gitcode.com/cann/infrastructure/tree/main/docs/SC/pre-commit ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> ![image.png](https://raw.gitcode.com/user-images/assets/7838749/786e45fa-07f0-4670-a363-f6d6c33166b5/image.png 'image.png') ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!47421 days ago
[refactor]: reorganize tests into adxl and hixl directories Co-authored-by: Developer user<youxiao@huawei.com> # message auto-generated for no-merge-commit merge: !586 merge master into master [refactor]: reorganize tests into adxl and hixl directories Created-by: youyx Commit-by: Developer user Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 目录重组与并行优化; ## 测试项 - bash tests/run_test.sh -t cpp -j 32(5 suite 并行) ## 测试结果 861 cases PASSED;线上 UT ~71s(排除编译)。 ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) 无 See merge request: cann/hixl!5863 days ago
[docs]: 优化补充HIXL相关目录文档&新增hixl-review skill Co-authored-by: A-Liuhao<liuhao276@hisilicon.com> # message auto-generated for no-merge-commit merge: !364 merge standardize_skills_dir into master [docs]: 优化补充HIXL相关目录文档&新增hixl-review skill Created-by: A-Liuhao Commit-by: A-Liuhao Merged-by: cann-robot Description: ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [x] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 1. 规范化Agent相关目录; 2. 优化README.md,贡献指南和pre-commit使用指导; 3. 新增hixl-review代码检视skill。 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> 测试hixl-review skill的效果。 ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> 基于[PR#359](https://gitcode.com/cann/hixl/pull/359 )进行了hixl-review能力验证。 ![image.png](https://raw.gitcode.com/user-images/assets/7838749/57ffacc7-0c61-4377-9f0b-916647fbef33/image.png 'image.png') ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!3641 month ago
[refactor]: delete Find*.cmake in modules Co-authored-by: Rentianqi<rentianqi3@huawei.com> # message auto-generated for no-merge-commit merge: !482 merge A5_dev into master [refactor]: delete Find*.cmake in modules Created-by: AlexRen998916 Commit-by: Rentianqi Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 删除modules路径下的所有Find*.cmake文件 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> 本地和流水线通过编译 ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> 本地和流水线均编译成功 ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!4826 days ago
更新 CONTRIBUTING.md, 添加 代码贡献流程 Co-authored-by: foraxe_admin<1055696449@qq.com> # message auto-generated for no-merge-commit merge: !451 merge master into master 更新 CONTRIBUTING.md, 添加 代码贡献流程 Created-by: foraxe_admin Commit-by: foraxe_admin Merged-by: cann-robot Description: 原先CONTRIBUTING.md 未包含 gitcode提交PR的操作流程, 而gitcode官方文档提供的pr入口在当前CANN/hixl 仓库并不存在, 需要参考 wiki中的文档, 所以在CONTRIBUTING.md 索引一下. 参考: https://docs.atomgit.com/docs/start/contribute/#8-%E5%88%9B%E5%BB%BA-pull-requestpr https://docs.atomgit.com/docs/help/home/org_project/pullrequests/pr-create See merge request: cann/hixl!45128 days ago
init 7 months ago
【feat】规范化OAT.xml中许可证声明形式 Co-authored-by: chenyx2012<975102023@qq.com> # message auto-generated for no-merge-commit merge: !341 merge master into master 【feat】规范化OAT.xml中许可证声明形式 Created-by: chenyx_2012 Commit-by: chenyx2012 Merged-by: cann-robot Description: ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [ ] 文档更新 - [x] 其他,请描述:修改OAT.xml ## 描述 规范化OAT.xml中许可证声明形式 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> 不涉及 ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> 不涉及 ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!3412 months ago
[docs]: 更新README Co-authored-by: A-Liuhao<liuhao276@hisilicon.com> # message auto-generated for no-merge-commit merge: !538 merge update_readme into master [docs]: 更新README Created-by: A-Liuhao Commit-by: A-Liuhao Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [x] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 更新README ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!53811 days ago
update 700 Co-authored-by: whh_smile<1530662479@qq.com> # message auto-generated for no-merge-commit merge: !560 merge master into master update 700 Created-by: whh_smile Commit-by: whh_smile Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [x] 文档更新 - [ ] 其他,请描述: ## 描述 SECURITY.md 权限表示法中使用了破折号而非连字符 ## 测试项 无 ## 测试结果 无 ## Checklist <!-- [x] 表示选中 --> - [ ] 该Pull Request的代码风格和项目的代码风格一致 - [ ] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [ ] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) 无 See merge request: cann/hixl!5607 days ago
[Docs] add third parties type Co-authored-by: ZhaoBaiwei<zhaobaiwei@huawei.com> # message auto-generated for no-merge-commit merge: !226 merge fix_third_parties_yaml into master [Docs] add third parties type Created-by: ZhaoBaiwei Commit-by: ZhaoBaiwei Merged-by: cann-robot Description: ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [x] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 补全yaml文件中三方库引用类型 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> na ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> na ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!2263 months ago
[Refactor] HIXL头文件整改 Co-authored-by: ZhaoBaiwei<zhaobaiwei@huawei.com> # message auto-generated for no-merge-commit merge: !438 merge fix_duplicate_filenames into master [Refactor] HIXL头文件整改 Created-by: ZhaoBaiwei Commit-by: ZhaoBaiwei Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> | 头文件类型 | 问题原因 | 问题影响 | 整改方案 | | -------------------- | ------------------------------------------------------------ | --------------------------------------------- | ------------------------------------------------------------ | | 仓内重名头文件 | 非对外同名头文件,内容不同,面向不同业务场景 | 可改名,影响开发者体验 | 头文件不对外,可直接改名,保证仓内不重名 | | 不再使用的头文件 | HIXL仓内部不再使用的文件 | 业务侧不再调用,无影响 | 直接删除 | | 子包间重复安装头文件 | LLM_Datadist V1当前归属于ge-compiler,待废弃;LLM_Datadist V2设计时继承了V1,导致头文件名称和安装路径相同 | 重复安装头文件到同一目录导致无法发布deb/rpm包 | 1.LLM_Datadist V1的C++接口已确认无用户使用。如果想使用V1这三个头文件的功能,提醒用户安装toolkit + ops(hixl),并在资料中补充说明。<br />2. ge-compiler仓中头文件仅编译不打包 | ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> * 整改前后,无重复头文件问题 * 功能验证 ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> - [x] 整改后,无重复头文件问题 - [x] LLT无问题 ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!43820 days ago
新增route.conf的生成方式 Co-authored-by: lugang11<lugang11@huawei.com> # message auto-generated for no-merge-commit merge: !527 merge feature/local_comm_res into master 新增route.conf的生成方式 Created-by: lugang11 Commit-by: lugang11 Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> ## Checklist <!-- [x] 表示选中 --> - [ ] 该Pull Request的代码风格和项目的代码风格一致 - [ ] 提交的代码已经过充分的验证 - [ ] 涉及的相关文档修改已更新 - [ ] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!5276 days ago
[bugfix] 修改文件头许可证声明 Co-authored-by: xumengxuan<xumengxuan2@huawei.com> # message auto-generated for no-merge-commit merge: !249 merge declare into master [bugfix] 修改文件头许可证声明 Created-by: xumengxuan Commit-by: xumengxuan Merged-by: cann-robot Description: ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 根据issue135修改版权声明不标准的文件 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> 无 ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> 无 ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!2492 months ago
[docs]: 优化文档问题 Co-authored-by: A-Liuhao<liuhao276@hisilicon.com> # message auto-generated for no-merge-commit merge: !415 merge fix_bug_0425 into master [docs]: 优化文档问题 Created-by: A-Liuhao Commit-by: A-Liuhao Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [x] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 1. 优化样例README; 2. 增加所需的python依赖; 3. 删除冗余的代码 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!4151 month ago
[bugfix]修复开源仓版本和主线不一致的问题 Co-authored-by: jiazhaoyang<jiazhaoyang7@huawei.com> # message auto-generated for no-merge-commit merge: !501 merge resolveIssue into master [bugfix]修复开源仓版本和主线不一致的问题 Created-by: jiazhaoyang Commit-by: jiazhaoyang Merged-by: cann-robot Description: **提交 PR 前,请先阅读 [HIXL贡献指南](https://gitcode.com/cann/hixl/blob/master/CONTRIBUTING.md) ,查看 PR 提交方式并遵守相关提交规范。** ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [ ] 文档更新 - [ ] 其他,请描述: ## 描述 <!--简要描述本次改动的背景,包括改动的原因、解决的问题等。--> 修复开源仓版本和主线不一致的问题 ## 测试项 <!--描述进行了哪些测试来验证本次改动,或新增了哪些测试用例。--> 重新编译开源仓,查看包的版本号是否为9.1.0 ## 测试结果 <!--描述上述测试项的测试结果,可通过表格、图片等形式展示。--> ![image.png](https://raw.gitcode.com/user-images/assets/7838749/b5934fd7-4f97-409a-adb7-481fb663c1ee/image.png 'image.png') ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) ## 其它(可选) <!--可以在这里描述任何和该Pull Request相关的说明。--> See merge request: cann/hixl!50119 days ago

HIXL

面向集群场景提供简单、可靠、高效的点对点数据传输能力

Documentation SIG meeting contributing WeChat zread

🔥Latest News

  • [2026/05] 《HIXL应用开发系列教程》发布,讲解昇腾单边通信库核心概念与应用开发方法。
  • [2026/04] HIXL支持Device UBoE,详见[Issue #275]; HIXL跨代际能力增强,支持A2/A3/A5异构 [Issue #138],[Issue #115]。
  • [2026/03] HIXL已支持超节点内FabricMem模式,详见 FabricMem
  • [2026/01] LLM-DataDist与HIXL已支持下一代芯片的Host RoCE传输能力。
  • [2025/12] 基于A3超平面实现D2rH直传;新增链路池与IPv6支持,并对接Mooncake社区的下一代TENT架构。
  • [2025/11] HIXL提供异步传输能力,支持更高并发的非阻塞数据传输场景。
  • [2025/10] HIXL项目开源,在昇腾芯片上提供高效的多链路D2D/D2H/H2D等单边通信能力,并优化了小数据量批量传输场景的性能。同时HIXL已对接多个开源社区,包含MooncakeDeepLink等。

🚀概述

HIXL(Huawei Xfer Library)是一个灵活、高效的昇腾单边通信库,面向集群场景提供简单、可靠、高效的点对点数据传输能力,并通过简易API开放给用户, 在多AI应用和多传输链路之间建立了桥梁。可用于构建大模型PD分离、RL后训练参数切换、模型参数缓存等多种业务场景。

核心优势

  • 支持单边零拷贝(One-Sided Zero-Copy)通信机制:HIXL提供简易、可靠的单边通信接口,可在本地内存数据准备就绪之后,通过单边操作完成向远端内存的直接数据传输。该机制无需远端节点执行任何操作,为用户构建通信与计算重叠掩盖的调度机制提供核心技术支撑。同时,零拷贝能力实现用户内存间的直接数据传输,避免冗余数据搬运,不仅可以降低内存带宽占用,还可以减少内存容量消耗。
  • 屏蔽硬件差异,兼容多链路实现跨设备高速互联:HIXL屏蔽了昇腾系列芯片的底层硬件差异,用户无需针对不同芯片架构进行代码适配。在通信链路层面,该技术原生支持RDMA,HCCS等多种高速互联协议,通信带宽最高可达119GB/s,可实现跨架构设备(如A2系列与A3系列昇腾芯片)的无缝高速互联,满足低时延、 高吞吐的需求。
  • 极简API设计,深度适配开源生态框架:HIXL采用极简式API接口设计,接口数量精简至10余个核心调用,降低开发者集成门槛,同时提供完善的C++/Python语言接口支持。目前已实现与Mooncake、DeepLink等开源框架的深度集成,vLLM、SGLang等主流推理引擎也可以直接调用HIXL API完成KV Cache的跨设备高效传输,将大模型推理过程中的内存访问延迟降低20%,显著提升推理吞吐。

架构图

核心组件

  • HIXL Engine:作为核心传输引擎,提供了基础传输接口,支持多种类型内存类型传输,比如D2D、D2H、H2D。同时兼容多种传输协议,包括HCCS、RDMA等。可实现高速、可靠的数据传输。原生支持多类型数据链路,可灵活同构集群、异构集群的复杂场景。面对集群节点动态扩缩容需求时,可快速完成链路适配与资源调度,为集群整体运行构建可靠通信基础。
  • LLM-DataDist:基于HIXL Engine构建,提供了一套携带KV Cache语义的数据传输接口。可快速、灵活对接vLLM、SGLang等推理引擎。

性能表现

在昇腾A3芯片上传输128M数据场景下:

  • 通过HCCS链路进行传输,HIXL传输引擎的带宽可达119GB/s
  • 通过RDMA链路进行传输,HIXL传输引擎的带宽可达22GB/s

性能数据图

查看基准测试Benchmarks了解更多细节。

🔍目录结构

本项目的关键目录说明如下:

├── build.sh                       # 项目工程编译脚本
├── benchmarks                     # 项目benchmark性能用例
├── cmake                          # 项目工程编译目录
├── CMakeLists.txt                 # 项目的CMakeList
├── docs                           # 项目文档介绍
│  ├── cpp                         # C++文档
│  └── python                      # Python文档
├── examples                       # 端到端样例开发和调用示例
│  ├── cpp                         # C++样例
│  ├── python                      # Python样例
├── include                        # 头文件
│  ├── hixl
│  ├── cs
│  ├── adxl
│  └── llm_datadist
├── README.md
├── scripts                        # 脚本路径
│  └── package
├── src                            # 源码路径
│  ├── hixl
│  ├── llm_datadist
│  ├── ops
│  └── python
└── tests                          # 测试工程目录

⚡️快速入门

若您希望快速体验该组件的构建和样例执行,请访问如下文档获取简易教程。

  • 构建:介绍组件的编译和安装,包括编译成功后利用tests进行本地验证。
  • 样例执行:介绍如何端到端执行样例代码,包括C++和Python样例。

📖学习教程

若您希望深入了解组件的相关接口并修改源码,请访问如下文档获取详细教程。

如果希望深入了解 HIXL 开发指南和技术文章等内容,可参考以下文档:

🤖 AI Agent支持

  • AI辅助编程:介绍仓内默认使用的一些skills及触发方式,用于提升开发者编程效率和代码质量。
  • Zread智能问答:本仓已集成 Zread 代码仓智能体,旨在通过 AI 技术为您提供更深度的代码理解与技术支持,开启在线智能代码学习与知识问答体验!

⚠️ 说明: 当前代码AI Agent服务处于试点阶段。在使用过程中,如果您发现 AI 生成的内容存在准确性问题,或对智能助手的功能有任何改进建议,欢迎通过 Issues 与我们交流,您的反馈对我们非常重要!

📝相关信息

🤝联系我们

本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。

  • 问题反馈:通过GitCode【Issues】提交问题。
  • 社区互动:通过GitCode【讨论】参与交流。
  • 经验分享:通过GitCode【Wiki】分享经验总结。
  • 加入交流群:通过扫描下方微信二维码添加HIXL小助手微信,加入微信群与我们进一步交流。

contact us

Introduction

HIXL(Huawei Xfer Library)是一个灵活、高效的昇腾单边通信库,面向集群场景提供简单、可靠、高效的点对点数据传输能力。

Customize my domain