CANN/cannbot-skills HFusion属性枚举速查 属性与枚举速查【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills1. 概述HFusion 方言定义了丰富的枚举和属性用于控制逐元操作的函数选择、类型转换、舍入模式、原子操作类型等。本文档提供完整的速查表。源码参考HFusionEnums.td、HFusionBase.td、HFusionAttrs.td2. UnaryFn一元函数枚举枚举值整数值说明relu0ReLU 激活sqrt1平方根rsqrt2平方根倒数rec3倒数vnot4按位取反tanh5双曲正切sin6正弦cos7余弦atan8反正切tan9正切absi10绝对值erf11误差函数log212以 2 为底对数log1013以 10 为底对数log1p14log(1x)exp2152^xexpm116e^x - 1ilogb17指数部分属性语法unary_fn sqrt3. BinaryFn二元函数枚举枚举值整数值说明vor0按位或vand1按位与vxor2按位异或minf3浮点最小值maxf4浮点最大值powf5浮点幂mod6取模shli7左移shrsi8算术右移shrui9逻辑右移ldexp10ldexpceildivsi11有符号向上取整除法ceildivui12无符号向上取整除法floordivsi13有符号向下取整除法powi14整数幂minnumf15IEEE 浮点最小值maxnumf16IEEE 浮点最大值modui17无符号取模divfhp18高精度除法属性语法binary_fn vand4. CompareFn比较函数枚举枚举值整数值说明veq0等于vne1不等于vle2有符号小于等于vlt3有符号小于vge4有符号大于等于vgt5有符号大于vule6无符号小于等于vuge7无符号大于等于vugt8无符号大于vult9无符号小于属性语法compare_fn veq5. TernaryFn三元函数枚举枚举值整数值说明select0条件选择属性语法ternary_fn select6. TypeFn类型转换函数枚举枚举值整数值说明cast_signed0有符号类型转换cast_unsigned1无符号类型转换bitcast2位转换属性语法type_fn cast_signed7. RoundMode舍入模式枚举枚举值整数值助记符说明RINT0rint四舍五入到偶数C 语言 rintROUND1round四舍五入远离零C 语言 roundFLOOR2floor向负无穷取整C 语言 floorCEIL3ceil向正无穷取整C 语言 ceilTRUNC4trunc向零取整C 语言 truncODD5odd向奇数取整Von Neumann 舍入TRUNCWITHOVERFLOW6truncwithoverflow截断并检测溢出属性语法round_mode RINT8. UnsignedMode无符号转换模式枚举枚举值整数值助记符说明SI2SI0si2si有符号整数到有符号整数SI2UI1si2ui有符号整数到无符号整数UI2SI2ui2si无符号整数到有符号整数UI2UI3ui2ui无符号整数到无符号整数属性语法unsigned_mode SI2SI9. AtomicKind原子操作类型枚举枚举值整数值助记符说明NONE0none非原子操作ADD1add原子加MAX2max原子有符号最大值MIN3min原子有符号最小值AND4and原子按位与OR5or原子按位或XOR6xor原子按位异或CAS7cas原子比较并交换XCHG8xchg原子交换UMAX9umax原子无符号最大值UMIN10umin原子无符号最小值属性语法atomic_kind add10. FusionKind融合类型枚举枚举值整数值助记符说明PureElemwise1PURE_ELEMWISE纯逐元融合AnyPB2ANY_PB任意 Producer-Consumer 融合LastAxisPBR3LAST_AXIS_PBR末轴 PBR 融合AnyPBR4ANY_PBR任意 PBR 融合SingleCube5SINGLE_CUBE单 Cube 融合ShallowCV6SHALLOW_CV浅层 Cube-Vector 融合ShallowVV7SHALLOW_VV浅层 Vector-Vector 融合MixCV8MIX_CV混合 Cube-Vector 融合MixC29MIX_C2双 Cube 混合融合Unknown10UNKNOWN未知融合类型11. 其他枚举11.1 FlattenMode枚举值整数值说明Greedy1贪心展平模式Tidy2整洁展平模式带分析11.2 OutputMode枚举值整数值说明Multiple1多输出模式Single2单输出模式SingleAggressive3激进单输出模式11.3 ReduceWithIndexKind枚举值助记符说明MINmin最小值归约MAXmax最大值归约11.4 CastMode枚举值助记符说明F32TOI8F32TOI8FP32 转 INT8F32TOI16F32TOI16FP32 转 INT16F16TOI8F16TOI8FP16 转 INT8I64TOI32I64TOI32INT64 转 INT32I64TOI16I64TOI16INT64 转 INT16I64TOI8I64TOI8INT64 转 INT8I32TOI16I32TOI16INT32 转 INT16I32TOI8I32TOI8INT32 转 INT8I16TOI8I16TOI8INT16 转 INT811.5 TaylerMode枚举值助记符说明SINsin正弦泰勒展开ATANatan反正切泰勒展开11.6 MmMapMode枚举值助记符说明CoreOpcore_op核心操作模式MacroInstrmacro_instr宏指令模式12. HFusion 属性列表属性名助记符说明FusionKindAttrfusion_kind融合类型StrideAlignDimsAttrstride_align_dims步长对齐维度StrideAlignValueInByteAttrstride_align_value_in_byte步长对齐字节数MultiBufferAttrmulti_buffer多缓冲属性BindSubBlockAttrbind_sub_block绑定子 BlockReduceComposeAttrreduce_composed归约组合ReduceWithIndexOpAttrreduce_with_index_kind带索引归约类型ReturnOperandNumAttrreturn_operand_num返回操作数编号PaddingOptionAttr-填充选项zero/nanCacheModifierAttr-缓存修饰符EvictionPolicyAttr-驱逐策略12.1 PaddingOption枚举值整数值助记符说明PAD_ZERO1zero零填充PAD_NAN2nanNaN 填充12.2 CacheModifier枚举值整数值助记符说明NONE1none无缓存修饰CA2ca缓存所有CG3cg缓存全局WB4wb写回CS5cs缓存流WT6wt写穿透CV7cv缓存易失12.3 EvictionPolicy枚举值整数值助记符说明NORMAL1evict_normal正常驱逐EVICT_FIRST2evict_first优先驱逐EVICT_LAST3evict_last最后驱逐【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考