groupSendRecv small data optimization
Co-authored-by: chengjing43<chengjing43@huawei.com>
# message auto-generated for no-merge-commit merge:
!413 merge groupSendRev-small-data-optimize into master
groupSendRecv small data optimization
Created-by: chengjing43
Commit-by: chengjing43
Merged-by: cann-robot
Description: ## 描述
<!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->
对Group特性的小数据量性能进行了优化。本次改动较大,改变了算子执行的逻辑。
现在的实现:收集完send/recv信息后,不再一个个执行原有的HcclSend/HcclRecv,而是将所有信息打包,调用一个类似BatchSendRecv的入口函数:HcclBatchSendRecvGroup,创建一个执行器:CollBatchSendRecvGroupExecutor,该Executor为CollBatchSendRecvExecutor的子类。
最后在该执行器内进行任务编排。
## 关联的Issue
<!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123-->
<!-- 如果这个PR不涉及Issue,可填写"NA"。-->
NA
## 测试
<!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。-->
- 二级冒烟
- 在A2单机/双机,A3单机/双机完成了验证,用例:使用Group特性批量调用HcclSend/HcclRecv接口,拼接为一个Alltoall。
- 在A3单机上完成了增量建链的验证:在一个通信域内逐步扩大拼接Alltoall的规模,从n=1到n=16
## 文档更新
<!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->
NA
## 类型标签
<!-- [x] 表示选中 -->
- [ ] Bug修复
- [ ] 新特性
- [x] 性能优化
- [ ] 文档更新
- [ ] 其他,请描述:
See merge request: cann/hcomm!413