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.mnemonicENUM_VALUE例如#hivm.pipePIPE_M。IteratorType12 值源码HIVMAttrs.td#L51-L78枚举名值字符串说明kParallel0parallel并行迭代kBroadcast1broadcast广播迭代kTranspose2transpose转置迭代kReduction3reduction归约迭代kInterleave4interleave交织迭代kDeinterleave5deinterleave解交织迭代kInverse6inverse逆序迭代kPad7pad填充迭代kConcat8concat拼接迭代kGather9gather收集迭代kCumulative10cumulative累积迭代kOpaque99opaque不透明迭代DataLayout7 值源码HIVMAttrs.td#L84-L101枚举名值字符串说明DOTA_ND1dotA_ND矩阵 A 的 ND 布局Cube 矩阵乘DOTB_ND2dotB_ND矩阵 B 的 ND 布局DOTC_ND3dotC_ND矩阵 C 的 ND 布局nZ4nZnZ 格式列优先分块zN5zNzN 格式行优先分块ND6NDND 格式标准行优先Fractal7FractalFractal 格式AddressSpace7 值源码HIVMAttrs.td#L171-L188枚举名值字符串说明Zero0zero默认地址空间GM1gm全局内存L12cbufL1 缓存CBufferL0A3caL0A 缓存Cube A 矩阵L0B4cbL0B 缓存Cube B 矩阵L0C5ccL0C 缓存Cube C 矩阵/累加器UB6ub统一缓冲区Pipe15 值源码HIVMAttrs.td#L203-L236枚举名值说明PIPE_S0Scalar PipePIPE_V1Vector PipePIPE_M2Cube Matrix PipePIPE_MTE13Memory Transfer Engine 1L1 搬运PIPE_MTE24Memory Transfer Engine 2GM→片内搬运PIPE_MTE35Memory Transfer Engine 3片内→GM 搬运PIPE_ALL6所有 PipePIPE_MTE47Memory Transfer Engine 4PIPE_MTE58Memory Transfer Engine 5PIPE_V29Vector Pipe 2PIPE_FIX10FixpipeL0C→UB/GM 数据转换VIRTUAL_PIPE_MTE2_L1A11虚拟 PipeMTE2 到 L1AVIRTUAL_PIPE_MTE2_L1B12虚拟 PipeMTE2 到 L1BPIPE_NUM13Pipe 数量标记PIPE_UNASSIGNED99未分配 PipeTCoreType4 值源码HIVMAttrs.td#L298-L309枚举名值说明CUBE1Cube Core矩阵计算VECTOR2Vector Core向量计算CUBE_OR_VECTOR3可在 Cube 或 Vector 上执行CUBE_AND_VECTOR4需要在 Cube 和 Vector 上同时执行TFuncCoreType4 值源码HIVMAttrs.td#L250-L261枚举名值说明AIC1AI Cube KernelAIV2AI Vector KernelMIX3混合 CubeVector KernelAIC_OR_AIV4AIC 或 AIV KernelTModuleCoreType3 值源码HIVMAttrs.td#L271-L276枚举名值说明AIC1所有函数为 AICAIV2所有函数为 AIVMIX3包含 AIC 和 AIV 函数PadMode3 值源码HIVMAttrs.td#L330-L341枚举名值说明PadNull0无填充PadFirstElem1使用第一个元素填充PadValue2使用指定值填充EvictionPolicy2 值源码HIVMAttrs.td#L356-L364枚举名值说明EvictFirst0先驱逐EvictLast1后驱逐RoundMode7 值源码HIVMAttrs.td#L378-L406枚举名值字符串说明RINT0rint就近舍入 ties to evenROUND1round就近舍入 ties away from zeroFLOOR2floor向负无穷舍入CEIL3ceil向正无穷舍入TRUNC4trunc向零舍入ODD5odd向奇数舍入Von NeumannTRUNCWITHOVERFLOW6truncwithoverflow截断并溢出UnsignedMode4 值源码HIVMAttrs.td#L408-L425枚举名值字符串说明SI2SI0si2si有符号→有符号SI2UI1si2ui有符号→无符号UI2SI2ui2si无符号→有符号UI2UI3ui2ui无符号→无符号TypeFn / Cast3 值源码HIVMAttrs.td#L431-L446枚举名值说明cast_signed0有符号类型转换cast_unsigned1无符号类型转换bitcast2位转换不改变位模式CompareMode6 值源码HIVMAttrs.td#L452-L473枚举名值字符串说明EQ0eq等于NE1ne不等于LT2lt小于GT3gt大于GE4ge大于等于LE5le小于等于Event8 值源码HIVMAttrs.td#L479-L498枚举名值说明EVENT_ID00Event ID 0EVENT_ID11Event ID 1EVENT_ID22Event ID 2EVENT_ID33Event ID 3EVENT_ID44Event ID 4EVENT_ID55Event ID 5EVENT_ID66Event ID 6EVENT_ID77Event ID 7UnitFlag4 值源码HIVMAttrs.td#L512-L523枚举名值说明DISABLED0禁用 UnitFlagRESERVED1保留ENABLED_WITHOUT_UPDATE2启用但不更新标志ENABLED_WITH_UPDATE3启用并更新标志SyncBlockMode6 值源码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 同步SyncBlockInstrMode3 值源码HIVMAttrs.td#L569-L578枚举名值说明INTER_BLOCK_SYNCHRONIZATION0跨 Block 同步INTER_SUBBLOCK_SYNCHRONIZATION1跨 Sub-Block 同步INTRA_BLOCK_SYNCHRONIZATION2Block 内同步默认ReduceOperation12 值源码HIVMAttrs.td#L596-L623枚举名值说明none0无归约sum1求和prod2求积max3最大值min4最小值max_with_index5最大值及索引min_with_index6最小值及索引any7任意为真all8全部为真xori9异或整数ori10或整数andi11与整数AtomicKind9 值源码HIVMAttrs.td#L637-L658枚举名值字符串说明NONE0none无原子操作ADD1add原子加MAX2max原子最大值MIN3min原子最小值AND4and原子与OR5or原子或XOR6xor原子异或CAS7or比较并交换XCHG8xor原子交换AlignKind3 值源码HIVMAttrs.td#L670-L678枚举名值字符串说明ALIGN0align对齐UNALIGNED1unaligned未对齐UNKNOWN2unknown未知AxisKind3 值源码HIVMAttrs.td#L688-L696枚举名值字符串说明FIRST0first第一轴MIDDLE1middle中间轴LAST2last最后轴VFMode3 值源码HIVMAttrs.td#L948-L954枚举名值说明SIMD0SIMD 模式向量化SIMT1SIMT 模式多线程MIX2混合 SIMDSIMT 模式DataCacheKind4 值源码HIVMAttrs.td#L736-L747枚举名值字符串说明ALL0all所有缓存UB1ubUB 缓存OUT2out输出缓存ATOMIC3atomic原子缓存DCCIMode2 值源码HIVMAttrs.td#L753-L763枚举名值字符串说明SINGLE_CACHE_LINE0single_cache_line单缓存行ALL_CACHE_LINES1all_cache_lines所有缓存行FixpipePreQuantMode5 值源码HIVMAttrs.td#L783-L796枚举名值说明NO_QUANT0不量化F322F161FP32→FP16S322I89INT32→INT8QF322F32_PRE15量化 FP32→FP32 预处理F322BF1616FP32→BF16FixpipePreReluMode4 值源码HIVMAttrs.td#L803-L814枚举名值说明NO_RELU0不激活NORMAL_RELU1标准 ReLULEAKY_RELU2Leaky ReLUP_RELU3P-ReLUFixpipeDualDstMode3 值源码HIVMAttrs.td#L821-L830枚举名值说明NO_DUAL0单目的地模式ROW_SPLIT1M 维度拆分M/2 x N 写入每个 UBCOLUMN_SPLIT2N 维度拆分M x N/2 写入每个 UBFixpipeDMAMode3 值源码HIVMAttrs.td#L847-L854枚举名值字符串说明NZ2ND0nz2ndnZ 格式→ND 格式NZ2DN1nz2dnnZ 格式→DN 格式NZ2NZ2normal正常模式nZ→nZDeinterleaveMode3 值源码HIVMAttrs.td#L865-L874枚举名值说明CHANNEL_00通道 0CHANNEL_11通道 1ALL_CHANNELS999所有通道DescaleMode3 值源码HIVMAttrs.td#L886-L895枚举名值说明DescaleNull0不使用反量化DescalePerChannel1按 Channel 反量化DescalePerTensor2按 Tensor 反量化MatmulBiasMode5 值源码HIVMAttrs.td#L903-L914枚举名值说明NoBias0无 biasPerChannelAdd1Per-channel 加法 biasPostPerChannelAddWithSplitK2Split-K 后 Per-channel 加法 biasElementwiseAdd3逐元素加法 biasMMInitPerChannelAddWithSplitK4Split-K 初始化 Per-channel 加法 biasMemoryEffect3 值源码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),仅供参考