CANN/cannbot-skills:Elementwise算子TilingData字段语义
2026/7/15 9:25:08 网站建设 项目流程

Elementwise 族 — TilingData 字段语义

【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills

Elementwise 族 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)*blockFormer
ub_formerint64UB每次处理的元素数(256B对齐)UB容量 / bufferDivisor 向下对齐
ub_loop_formerint64首block的UB循环次数CeilDiv(blockFormer, ubFormer)
ub_tail_formerint64首block的尾块大小blockFormer - (loopFormer-1)*ubFormer
ub_loop_tailint64尾block的UB循环次数CeilDiv(blockTail, ubFormer)
ub_tail_tailint64尾block的尾块大小blockTail - (loopTail-1)*ubFormer
use_fp32_castbool是否启用FP32升精度dtype + op_type判定
K_extra_buffersint升精度额外FP32 buffer份数API别名约束

2. 约束常量

常量说明
MIN_TILING_BITS32768 (4KB)每核最小数据量
ELEM_ALIGN_FACTOR512多核切分元素对齐因子
ALIGN_256256UB对齐字节数

3. 经验规则

规则说明
最小粒度每核≥4KB,否则不值得开核
多核对齐元素数对齐到512
UB对齐按256B对齐确保Vector指令效率
跨核偏移blockFormer * blockIdx * sizeof(dtype)

【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询