news 2026/7/11 13:24:30

cann/cannbot-skills HIVM枚举属性速查

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
cann/cannbot-skills HIVM枚举属性速查

HIVM 枚举属性速查

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

关键词:Enumeration, IteratorType, DataLayout, AddressSpace, Pipe, CoreType, Event, UnitFlag, SyncBlockMode, ReduceOperation, AtomicKind

概述

本文档列出 HIVM 方言中所有枚举属性的完整枚举值,是 Agent 最常查阅的参考。所有枚举值均从 HIVMAttrs.td 精确提取。

枚举属性在 MLIR IR 中的格式为#hivm.<mnemonic><<ENUM_VALUE>>,例如#hivm.pipe<PIPE_M>


IteratorType(12 值)

源码:HIVMAttrs.td#L51-L78

枚举名字符串说明
kParallel0parallel并行迭代
kBroadcast1broadcast广播迭代
kTranspose2transpose转置迭代
kReduction3reduction归约迭代
kInterleave4interleave交织迭代
kDeinterleave5deinterleave解交织迭代
kInverse6inverse逆序迭代
kPad7pad填充迭代
kConcat8concat拼接迭代
kGather9gather收集迭代
kCumulative10cumulative累积迭代
kOpaque99opaque不透明迭代

DataLayout(7 值)

源码:HIVMAttrs.td#L84-L101

枚举名字符串说明
DOTA_ND1dotA_ND矩阵 A 的 ND 布局(Cube 矩阵乘)
DOTB_ND2dotB_ND矩阵 B 的 ND 布局
DOTC_ND3dotC_ND矩阵 C 的 ND 布局
nZ4nZnZ 格式(列优先分块)
zN5zNzN 格式(行优先分块)
ND6NDND 格式(标准行优先)
Fractal7FractalFractal 格式

AddressSpace(7 值)

源码:HIVMAttrs.td#L171-L188

枚举名字符串说明
Zero0zero默认地址空间
GM1gm全局内存
L12cbufL1 缓存(CBuffer)
L0A3caL0A 缓存(Cube A 矩阵)
L0B4cbL0B 缓存(Cube B 矩阵)
L0C5ccL0C 缓存(Cube C 矩阵/累加器)
UB6ub统一缓冲区

Pipe(15 值)

源码:HIVMAttrs.td#L203-L236

枚举名说明
PIPE_S0Scalar Pipe
PIPE_V1Vector Pipe
PIPE_M2Cube Matrix Pipe
PIPE_MTE13Memory Transfer Engine 1(L1 搬运)
PIPE_MTE24Memory Transfer Engine 2(GM→片内搬运)
PIPE_MTE35Memory Transfer Engine 3(片内→GM 搬运)
PIPE_ALL6所有 Pipe
PIPE_MTE47Memory Transfer Engine 4
PIPE_MTE58Memory Transfer Engine 5
PIPE_V29Vector Pipe 2
PIPE_FIX10Fixpipe(L0C→UB/GM 数据转换)
VIRTUAL_PIPE_MTE2_L1A11虚拟 Pipe:MTE2 到 L1A
VIRTUAL_PIPE_MTE2_L1B12虚拟 Pipe:MTE2 到 L1B
PIPE_NUM13Pipe 数量标记
PIPE_UNASSIGNED99未分配 Pipe

TCoreType(4 值)

源码:HIVMAttrs.td#L298-L309

枚举名说明
CUBE1Cube Core(矩阵计算)
VECTOR2Vector Core(向量计算)
CUBE_OR_VECTOR3可在 Cube 或 Vector 上执行
CUBE_AND_VECTOR4需要在 Cube 和 Vector 上同时执行

TFuncCoreType(4 值)

源码:HIVMAttrs.td#L250-L261

枚举名说明
AIC1AI Cube Kernel
AIV2AI Vector Kernel
MIX3混合 Cube+Vector Kernel
AIC_OR_AIV4AIC 或 AIV Kernel

TModuleCoreType(3 值)

源码:HIVMAttrs.td#L271-L276

枚举名说明
AIC1所有函数为 AIC
AIV2所有函数为 AIV
MIX3包含 AIC 和 AIV 函数

PadMode(3 值)

源码:HIVMAttrs.td#L330-L341

枚举名说明
PadNull0无填充
PadFirstElem1使用第一个元素填充
PadValue2使用指定值填充

EvictionPolicy(2 值)

源码:HIVMAttrs.td#L356-L364

枚举名说明
EvictFirst0先驱逐
EvictLast1后驱逐

RoundMode(7 值)

源码:HIVMAttrs.td#L378-L406

枚举名字符串说明
RINT0rint就近舍入, ties to even
ROUND1round就近舍入, ties away from zero
FLOOR2floor向负无穷舍入
CEIL3ceil向正无穷舍入
TRUNC4trunc向零舍入
ODD5odd向奇数舍入(Von Neumann)
TRUNCWITHOVERFLOW6truncwithoverflow截断并溢出

UnsignedMode(4 值)

源码:HIVMAttrs.td#L408-L425

枚举名字符串说明
SI2SI0si2si有符号→有符号
SI2UI1si2ui有符号→无符号
UI2SI2ui2si无符号→有符号
UI2UI3ui2ui无符号→无符号

TypeFn / Cast(3 值)

源码:HIVMAttrs.td#L431-L446

枚举名说明
cast_signed0有符号类型转换
cast_unsigned1无符号类型转换
bitcast2位转换(不改变位模式)

CompareMode(6 值)

源码:HIVMAttrs.td#L452-L473

枚举名字符串说明
EQ0eq等于
NE1ne不等于
LT2lt小于
GT3gt大于
GE4ge大于等于
LE5le小于等于

Event(8 值)

源码:HIVMAttrs.td#L479-L498

枚举名说明
EVENT_ID00Event ID 0
EVENT_ID11Event ID 1
EVENT_ID22Event ID 2
EVENT_ID33Event ID 3
EVENT_ID44Event ID 4
EVENT_ID55Event ID 5
EVENT_ID66Event ID 6
EVENT_ID77Event ID 7

UnitFlag(4 值)

源码:HIVMAttrs.td#L512-L523

枚举名说明
DISABLED0禁用 UnitFlag
RESERVED1保留
ENABLED_WITHOUT_UPDATE2启用但不更新标志
ENABLED_WITH_UPDATE3启用并更新标志

SyncBlockMode(6 值)

源码:HIVMAttrs.td#L540-L555

枚举名说明
ALL_CUBE0所有 Cube Core 同步
ALL_VECTOR1所有 Vector Core 同步
ALL_SUB_VECTOR2所有 Sub-Vector 同步
BARRIER_CUBE3Cube-Cube 屏障
BARRIER_VECTOR4Vector-Vector 屏障
ALL5所有 AIC/AIV 同步

SyncBlockInstrMode(3 值)

源码:HIVMAttrs.td#L569-L578

枚举名说明
INTER_BLOCK_SYNCHRONIZATION0跨 Block 同步
INTER_SUBBLOCK_SYNCHRONIZATION1跨 Sub-Block 同步
INTRA_BLOCK_SYNCHRONIZATION2Block 内同步(默认)

ReduceOperation(12 值)

源码:HIVMAttrs.td#L596-L623

枚举名说明
none0无归约
sum1求和
prod2求积
max3最大值
min4最小值
max_with_index5最大值及索引
min_with_index6最小值及索引
any7任意为真
all8全部为真
xori9异或(整数)
ori10或(整数)
andi11与(整数)

AtomicKind(9 值)

源码:HIVMAttrs.td#L637-L658

枚举名字符串说明
NONE0none无原子操作
ADD1add原子加
MAX2max原子最大值
MIN3min原子最小值
AND4and原子与
OR5or原子或
XOR6xor原子异或
CAS7or比较并交换
XCHG8xor原子交换

AlignKind(3 值)

源码:HIVMAttrs.td#L670-L678

枚举名字符串说明
ALIGN0align对齐
UNALIGNED1unaligned未对齐
UNKNOWN2unknown未知

AxisKind(3 值)

源码:HIVMAttrs.td#L688-L696

枚举名字符串说明
FIRST0first第一轴
MIDDLE1middle中间轴
LAST2last最后轴

VFMode(3 值)

源码:HIVMAttrs.td#L948-L954

枚举名说明
SIMD0SIMD 模式(向量化)
SIMT1SIMT 模式(多线程)
MIX2混合 SIMD+SIMT 模式

DataCacheKind(4 值)

源码:HIVMAttrs.td#L736-L747

枚举名字符串说明
ALL0all所有缓存
UB1ubUB 缓存
OUT2out输出缓存
ATOMIC3atomic原子缓存

DCCIMode(2 值)

源码:HIVMAttrs.td#L753-L763

枚举名字符串说明
SINGLE_CACHE_LINE0single_cache_line单缓存行
ALL_CACHE_LINES1all_cache_lines所有缓存行

FixpipePreQuantMode(5 值)

源码:HIVMAttrs.td#L783-L796

枚举名说明
NO_QUANT0不量化
F322F161FP32→FP16
S322I89INT32→INT8
QF322F32_PRE15量化 FP32→FP32 预处理
F322BF1616FP32→BF16

FixpipePreReluMode(4 值)

源码:HIVMAttrs.td#L803-L814

枚举名说明
NO_RELU0不激活
NORMAL_RELU1标准 ReLU
LEAKY_RELU2Leaky ReLU
P_RELU3P-ReLU

FixpipeDualDstMode(3 值)

源码:HIVMAttrs.td#L821-L830

枚举名说明
NO_DUAL0单目的地模式
ROW_SPLIT1M 维度拆分,M/2 x N 写入每个 UB
COLUMN_SPLIT2N 维度拆分,M x N/2 写入每个 UB

FixpipeDMAMode(3 值)

源码:HIVMAttrs.td#L847-L854

枚举名字符串说明
NZ2ND0nz2ndnZ 格式→ND 格式
NZ2DN1nz2dnnZ 格式→DN 格式
NZ2NZ2normal正常模式(nZ→nZ)

DeinterleaveMode(3 值)

源码:HIVMAttrs.td#L865-L874

枚举名说明
CHANNEL_00通道 0
CHANNEL_11通道 1
ALL_CHANNELS999所有通道

DescaleMode(3 值)

源码:HIVMAttrs.td#L886-L895

枚举名说明
DescaleNull0不使用反量化
DescalePerChannel1按 Channel 反量化
DescalePerTensor2按 Tensor 反量化

MatmulBiasMode(5 值)

源码:HIVMAttrs.td#L903-L914

枚举名说明
NoBias0无 bias
PerChannelAdd1Per-channel 加法 bias
PostPerChannelAddWithSplitK2Split-K 后 Per-channel 加法 bias
ElementwiseAdd3逐元素加法 bias
MMInitPerChannelAddWithSplitK4Split-K 初始化 Per-channel 加法 bias

MemoryEffect(3 值)

源码:HIVMAttrs.td#L1046-L1055

枚举名字符串说明
READ0read读内存
WRITE1write写内存
READ_WRITE2read_write读写内存

相关文档

  • 源码参考:HIVMAttrs.td
  • 测试用例:attribute.mlir

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 13:18:33

如何5分钟搞定Windows和Office永久激活:KMS智能激活完全指南

如何5分钟搞定Windows和Office永久激活&#xff1a;KMS智能激活完全指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows激活弹窗而烦恼吗&#xff1f;还在为Office功能受限而困扰…

作者头像 李华
网站建设 2026/7/11 13:18:27

抖音无水印批量下载工具:从零到精通的全功能指南

抖音无水印批量下载工具&#xff1a;从零到精通的全功能指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…

作者头像 李华
网站建设 2026/7/11 13:13:04

如何高效使用qmc-decoder:QQ音乐加密文件解密终极指南

如何高效使用qmc-decoder&#xff1a;QQ音乐加密文件解密终极指南 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder QMC音频解密工具qmc-decoder能够快速将QQ音乐加密的QMC格…

作者头像 李华
网站建设 2026/7/11 13:09:58

拒绝碎片化焦虑:AI开发者必读的“私人图书馆”构建指南

在技术迭代以“周”为单位的今天&#xff0c;AI 从业者普遍面临一种深层的焦虑&#xff1a;收藏夹里的干货越来越多&#xff0c;但脑子里的知识图谱却越来越乱。 各种自媒体推文擅长解释“是什么”和“怎么用”&#xff0c;但往往难以讲透“为什么”。当遇到复杂的工程落地问题…

作者头像 李华