| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[fix] timeout issue Co-authored-by: lhdlhdlhd1234569<lihaodong19@h-partners.com> # message auto-generated for no-merge-commit merge: !3765 merge master into master [fix] timeout issue Created-by: lhdlhdlhd1234569 Commit-by: lhdlhdlhd1234569 Merged-by: cann-robot Description: ## 描述 ### 简要描述 HcommWaitResponse 轮询等待的超时阈值改为复用 HCCL_EXEC_TIMEOUT 环境变量配置,并支持配置为 0 时无限等待。 ### 问题描述 HcommWaitResponse 轮询 flag 时,超时阈值被硬编码为常量 SYNC_WAIT_TIMEOUT_SECONDS=205s,既未读取用户通过环境变量 HCCL_EXEC_TIMEOUT 配置的算子级执行超时(GetExternalInputHcclExecTimeOut),也未与上层 notify 默认等待时长 NOTIFY_DEFAULT_WAIT_TIME=1836s 对齐。在大模型长耗时通信场景下,flag 尚未被对端置位即触发 205s 超时误报 HCCL_E_TIMEOUT,导致通信异常中断。此外旧实现从共享内存 timeout 字段读取超时值,而该字段在多数链路上并未真正下发有效值,可靠性不足。 ### 解决方案 1. 新增 GetSyncWaitTimeoutSeconds(),复用 GetExternalInputHcclExecTimeOut()(即 HCCL_EXEC_TIMEOUT 配置,默认 NOTIFY_DEFAULT_WAIT_TIME=1836s),并用 std::ceil 向上取整为秒,保证与上层算子级超时一致;新增 #include <cmath> 与 #include "externalinput_pub.h"。 2. WaitFlagReady 去掉 srcTimeoutPtr 参数,不再从共享内存读取 timeout,改由 GetSyncWaitTimeoutSeconds() 统一取值。 3. 当 timeoutVal == 0 时不做超时判断,表示无限等待,避免在合法配置下误超时。 4. HcommWaitResponse 调用处同步去掉 srcTimeoutPtr 参数。 ### 影响范围 - 修复:HcommWaitResponse/WaitFlagReady 超时由写死 205s 改为跟随 HCCL_EXEC_TIMEOUT(默认 1836s),解决长耗时通信场景下的误超时问题。 - 行为变更:HCCL_EXEC_TIMEOUT 配置为 0 时表示无限等待(<=0 视为不超时)。 - 兼容性:对调用方透明,WaitFlagReady 仅为内部 static 函数,签名变更不影响对外 API;移除对共享内存 timeout 字段的依赖,减少不可靠读取。 ### 新增用例 - UT:HcommWaitResponse 当 handle 为 nullptr 时返回 HCCL_E_PTR - UT:HcommWaitResponse 当 sizeByte>0 但 dst 为 nullptr 时返回 HCCL_E_PTR - UT:HcommWaitResponse 当 msgId 为 nullptr 时返回 HCCL_E_PTR - UT:HcommWaitResponse 当 flag 已置位时立即返回 HCCL_SUCCESS 并读出 msgId - UT:HcommWaitResponse 当 flag 由另一线程稍后置位时在超时窗口内返回 HCCL_SUCCESS ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 上板验证通过 2. rdv pass ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论/lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!3765 | 1 个月前 | |
[build] License Header Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !4556 merge build/oat into master [build] License Header Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 全仓C/C++、CMake、Python、Shell文件规范头部License的使用 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译成功 2. 全量拦截项通过 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4556 | 1 个月前 | |
[fix] timeout issue Co-authored-by: lhdlhdlhd1234569<lihaodong19@h-partners.com> # message auto-generated for no-merge-commit merge: !3765 merge master into master [fix] timeout issue Created-by: lhdlhdlhd1234569 Commit-by: lhdlhdlhd1234569 Merged-by: cann-robot Description: ## 描述 ### 简要描述 HcommWaitResponse 轮询等待的超时阈值改为复用 HCCL_EXEC_TIMEOUT 环境变量配置,并支持配置为 0 时无限等待。 ### 问题描述 HcommWaitResponse 轮询 flag 时,超时阈值被硬编码为常量 SYNC_WAIT_TIMEOUT_SECONDS=205s,既未读取用户通过环境变量 HCCL_EXEC_TIMEOUT 配置的算子级执行超时(GetExternalInputHcclExecTimeOut),也未与上层 notify 默认等待时长 NOTIFY_DEFAULT_WAIT_TIME=1836s 对齐。在大模型长耗时通信场景下,flag 尚未被对端置位即触发 205s 超时误报 HCCL_E_TIMEOUT,导致通信异常中断。此外旧实现从共享内存 timeout 字段读取超时值,而该字段在多数链路上并未真正下发有效值,可靠性不足。 ### 解决方案 1. 新增 GetSyncWaitTimeoutSeconds(),复用 GetExternalInputHcclExecTimeOut()(即 HCCL_EXEC_TIMEOUT 配置,默认 NOTIFY_DEFAULT_WAIT_TIME=1836s),并用 std::ceil 向上取整为秒,保证与上层算子级超时一致;新增 #include <cmath> 与 #include "externalinput_pub.h"。 2. WaitFlagReady 去掉 srcTimeoutPtr 参数,不再从共享内存读取 timeout,改由 GetSyncWaitTimeoutSeconds() 统一取值。 3. 当 timeoutVal == 0 时不做超时判断,表示无限等待,避免在合法配置下误超时。 4. HcommWaitResponse 调用处同步去掉 srcTimeoutPtr 参数。 ### 影响范围 - 修复:HcommWaitResponse/WaitFlagReady 超时由写死 205s 改为跟随 HCCL_EXEC_TIMEOUT(默认 1836s),解决长耗时通信场景下的误超时问题。 - 行为变更:HCCL_EXEC_TIMEOUT 配置为 0 时表示无限等待(<=0 视为不超时)。 - 兼容性:对调用方透明,WaitFlagReady 仅为内部 static 函数,签名变更不影响对外 API;移除对共享内存 timeout 字段的依赖,减少不可靠读取。 ### 新增用例 - UT:HcommWaitResponse 当 handle 为 nullptr 时返回 HCCL_E_PTR - UT:HcommWaitResponse 当 sizeByte>0 但 dst 为 nullptr 时返回 HCCL_E_PTR - UT:HcommWaitResponse 当 msgId 为 nullptr 时返回 HCCL_E_PTR - UT:HcommWaitResponse 当 flag 已置位时立即返回 HCCL_SUCCESS 并读出 msgId - UT:HcommWaitResponse 当 flag 由另一线程稍后置位时在超时窗口内返回 HCCL_SUCCESS ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 上板验证通过 2. rdv pass ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论/lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!3765 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |