已修复问题
问题一
问题描述 |
torch.matmul跑[82078, 4]*[4096, 4]的shape,dtype为fp32 时,执行阻塞 |
|---|---|
严重级别 |
一般 |
根因分析 |
matmulV3的tiling函数中BL1全载模板中,先将B矩阵整个放在L1上,根据depthA1, depthB1, baseM, baseN, baseK计算L1上的loadSize,如果loadSize大于芯片的L1大小,则逐步缩小baseM,直至loadSize满足条件 在该case中,loadSize始终大于L1Size,导致无法跳出while循环 |
解决方案 |
进入while循环之前判断B+bias+minA的loadSize是否超L1,如果超了就不走全载模板 |
修改影响 |
修复问题 |
问题二
问题描述 |
FAG 算子在BSND layout,D=80场景平均性能劣化 |
|---|---|
严重级别 |
提示 |
根因分析 |
D=80场景由于Matmul L1自主管理重写和基础API模板切换导致性能劣化 |
解决方案 |
回退L1自主管理重构代码 |
修改影响 |
修复问题 |
问题三
问题描述 |
superkernel多流场景,两个dtpe不同的hccl算子kernel-name相同会重定义导致编译报错 |
|---|---|
严重级别 |
严重 |
根因分析 |
当SuperKernel融合两个相同源语类型但不同数据类型的hccl算子时,会有符号重定义报错,如融合int8和float32的allgather算子,会有相同的kernel name sk_allgather导致链接时符号重复定义 |
解决方案 |
保证不同二进制kernel name符号不重名 |
修改影响 |
修复问题 |
父主题: 8.3.RC3更新说明