标量参数与枚举【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa许多 PTO 内建接口除了 Tile 外还会带标量参数例如比较模式、舍入模式、原子模式或字面常量。本文档汇总include/pto/common/pto_instr.hpp公共内建接口中出现的标量/枚举类型。标量值部分指令直接使用 C 基本类型作为标量参数TADDS/TMULS/TDIVS/TEXPANDS标量类型为TileData::DType。TMINS标量为模板类型T必须可转换为 Tile 元素类型。TCI标量S为模板类型T并且必须与TileData::DType匹配由实现中的static_assert强制。PTO ISA 类型助记符参考ISA 文档会用简短助记符例如fp16、s8描述指令语义。不同后端在任意时刻可能只支持其中一部分实现状态可参考include/README_zh.md。整数类型类型助记符有符号s4,s8,s16,s32,s64无符号u4,u8,u16,u32,u64浮点类型类型助记符4-bit float 家族fp4,hif4,mxfp48-bit float 家族fp8,hif8,mxfp816-bit float 家族bf16,fp1632-bit float 家族tf32,hf32,fp3264-bit floatfp64无类型比特宽度类型助记符typeless bitsb4,b8,b16,b32,b64兼容性规则ISA 约定当两个助记符满足以下条件时认为二者兼容位宽相同并且满足其一类型相同或同位宽的有符号/无符号整数或其中一侧为同位宽的 typeless bitsb*。这属于文档层面的规则用于描述指令合法性具体指令可能进一步限制类型。核心枚举以下枚举均可通过#include pto/pto-inst.hpp使用。pto::RoundMode定义于include/pto/common/constants.hpp。TCVT使用它来指定舍入行为例如RoundMode::CAST_RINT。pto::CmpMode定义于include/pto/common/type.hpp。TCMPS以及TCMP使用它进行逐元素比较EQ/NE/LT/GT/GE/LE。pto::MaskPattern定义于include/pto/common/type.hpp。mask-pattern 形式的TGATHER使用它选择预定义的 0/1 mask 模式。pto::AtomicType定义于include/pto/common/constants.hpp。作为TSTORE..., AtomicType::AtomicAdd或AtomicNone的模板参数。pto::AccToVecMode与pto::ReluPreMode定义于include/pto/common/constants.hpp。用于TMOV的部分重载从累加器 Tile 移动到向量/矩阵 Tile 时选择量化与/或 ReLU 行为。pto::PadValue定义于include/pto/common/constants.hpp。属于Tile...模板参数并被一些实现用于定义有效区域外元素的处理策略例如 select/copy/pad。示例#include pto/pto-inst.hpp using namespace pto; void example(TileTileType::Vec, float, 16, 16 dst, TileTileType::Vec, float, 16, 16 src) { TCVT(dst, src, RoundMode::CAST_RINT); TMINS(dst, src, 0.0f); }【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考