CANN/cannbot-skills:Elementwise算子TilingData字段语义 Elementwise 族 — TilingData 字段语义【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skillsElementwise 族 TilingData 字段定义。1. 字段定义字段类型含义推导出处dim0int64元素总数量所有维度相乘dtypestr数据类型输入参数elem_bytesint单元素字节数dtype映射core_numint32实际使用的核数min(ceil(dim0*bits/MIN_TILING_BITS), maxCores)block_formerint64每个核的基础元素数(512对齐)AlignUp(CeilDiv(dim0, coreNum), 512)block_numint64虚拟block数量CeilDiv(dim0, blockFormer)block_tailint64尾block的元素数dim0 - (blockNum-1)*blockFormerub_formerint64UB每次处理的元素数(256B对齐)UB容量 / bufferDivisor 向下对齐ub_loop_formerint64首block的UB循环次数CeilDiv(blockFormer, ubFormer)ub_tail_formerint64首block的尾块大小blockFormer - (loopFormer-1)*ubFormerub_loop_tailint64尾block的UB循环次数CeilDiv(blockTail, ubFormer)ub_tail_tailint64尾block的尾块大小blockTail - (loopTail-1)*ubFormeruse_fp32_castbool是否启用FP32升精度dtype op_type判定K_extra_buffersint升精度额外FP32 buffer份数API别名约束2. 约束常量常量值说明MIN_TILING_BITS32768 (4KB)每核最小数据量ELEM_ALIGN_FACTOR512多核切分元素对齐因子ALIGN_256256UB对齐字节数3. 经验规则规则说明最小粒度每核≥4KB否则不值得开核多核对齐元素数对齐到512UB对齐按256B对齐确保Vector指令效率跨核偏移blockFormer * blockIdx * sizeof(dtype)【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考