CANN性能优化Tiling字段

CANN性能优化Tiling字段 Reduction 族 — TilingData 字段语义【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills五模板AR-SmallR / AR-FullLoad / AR-Recompute / ARA-FullLoad / ARA-Recompute的 TilingData 字段并集。1. 通用基础字段所有模板均包含字段含义来源template模板名称五选一决策树输出modeAR或ARAA01 为 AR否则 ARAA1外层保留轴长度合轴R归约轴长度合轴A0内层保留轴长度合轴AR 模式下为 1dtype/dtype_bytes数据类型输入参数core_num可用核数平台参数used_core_num实际使用核数多核分配tiles_per_core每核处理的 tile 数ceil(total_tiles / core_num)2. 切分粒度字段字段含义出现模板a1_tile_lenAR-SmallR 中 A1 方向的 tile 长度AR-SmallRa1_tile_tailA1 方向尾块长度AR-SmallRrows_per_ubAR-FullLoad 中 UB 一次处理的 A1 行数AR-FullLoadrows_per_core每核处理的 A1 行数AR-FullLoad, AR-Recomputer_alignR 按 32B 对齐后的长度AR-FullLoadr_chunkAR-Recompute 中 R 方向分块大小AR-Recomputer_chunk_tailR 方向尾块大小AR-Recomputer_loop_countR 分块轮数AR-Recomputea0_tile_lenARA 模式中 A0 方向的 tile 长度ARA-FullLoad, ARA-Recomputea0_tile_tailA0 方向尾块长度ARA-FullLoad, ARA-Recomputea0_outerA0 方向 tile 总数ARA-FullLoad, ARA-Recomputetotal_tiles总 tile 数A1 × a0_outerAR-SmallR, ARA 族r_bin_sizeARA-Recompute 中 R 方向分块粒度ARA-Recomputetmp_buf_sizeReduce API 临时缓冲字节数所有模板3. 二分累加字段AR-Recompute 和 ARA 族在块间合并时使用二分累加字段含义出现模板fold_base小于循环轮数的最大 2 的幂AR-Recompute, ARA-Recomputefold_remain超出 fold_base 的剩余轮数AR-Recompute, ARA-Recomputecache_layers跨 bin 累加所需的 cache 层数ARA-RecomputeARA-FullLoad 在 R 8 时使用行级 BinaryAdd需额外记录分组参数quotient、remainder 等由 kernel 侧消费host tiling 按 R 和 a0_tile_len 推导。4. 增强标志字段字段含义触发条件enable_group_reduceR 方向跨核归约R 超大且 A 维过小enable_welfordWelford 在线算法Norm 类 Recomputeenable_dichotomy二分累加精度Sum 精度敏感with_index跟踪极值索引ArgMax / ArgMinworkspace_size跨核 workspace 字节数Group Reduce 启用5. 模板—字段交叉表字段AR-SmallRAR-FullLoadAR-RecomputeARA-FullLoadARA-RecomputeA1 / R / A0✅✅✅✅✅a1_tile_len / tail✅➖➖➖➖rows_per_ub / rows_per_core➖✅✅➖➖r_align✅✅➖➖➖r_chunk / r_chunk_tail➖➖✅➖➖a0_tile_len / tail / outer➖➖➖✅✅total_tiles✅➖➖✅✅r_bin_size➖➖➖➖✅fold_base / fold_remain➖➖✅➖✅tmp_buf_size➖✅➖➖➖6. 对齐规则场景对齐粒度A0 切分64 元素(FP32) / 128 元素(FP16)R 方向32B 对应的元素数UB Buffer32Btmp_buf_size≥ 4096B【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考