Skip to content

feat: add aclnnMatmulAllReduce fusion in InfiniCore for Ascend RowParallelLinear - #1484

Closed
ShaneWoof wants to merge 1 commit into
InfiniTensor:mainfrom
ShaneWoof:main
Closed

feat: add aclnnMatmulAllReduce fusion in InfiniCore for Ascend RowParallelLinear#1484
ShaneWoof wants to merge 1 commit into
InfiniTensor:mainfrom
ShaneWoof:main

Conversation

@ShaneWoof

Copy link
Copy Markdown
Contributor

修改文件:
1、新增include/infinicore/ops/linear_allreduce.hpp,用于声明 linear_allreduce() / linear_allreduce_() 融合算子接口。

2、新增src/infinicore/ops/linear_allreduce/linear_allreduce.cc
(1)设备分发:Ascend → aclnn 内核,其他平台 → linear()+allreduce() 回退;
(2)非 Ascend 厂商(NVIDIA/MetaX/Moore 等)行为不变。

3、新增src/infinicore/ops/linear_allreduce/linear_allreduce_ascend.cc
(1)调用 aclnnMatmulAllReduce CANN API(F16/BF16 支持,F32 退回原始路径;
(2)实现 per-stream WorkspacePool:首次分配后复用,减少malloc/free/sync开销。

…allelLinear

修改文件:
1、新增`include/infinicore/ops/linear_allreduce.hpp`,用于声明 linear_allreduce() / linear_allreduce_() 融合算子接口

2、新增`src/infinicore/ops/linear_allreduce/linear_allreduce.cc`
(1)设备分发:Ascend → aclnn 内核,其他平台 → linear()+allreduce() 回退
(2)非 Ascend 厂商(NVIDIA/MetaX/Moore 等)行为不变
3、新增`src/infinicore/ops/linear_allreduce/linear_allreduce_ascend.cc`
(1)调用 aclnnMatmulAllReduce CANN API(F16/BF16 支持,F32 退回原始路径)
(2)实现 per-stream WorkspacePool:首次分配后复用,减少malloc/free/sync开销
@ShaneWoof
ShaneWoof requested a review from a team August 11, 2026 02:25
@ShaneWoof ShaneWoof closed this Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant