复杂操作【免费下载链接】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本文档描述复杂操作包括排序、聚集、量化和随机数生成。操作总数16操作TPRINT该指令的详细介绍请见isa/TPRINTAS Level 1 (SSA)pto.tprint %src : !pto.tile... | !pto.partition_tensor_viewMxNxdtype - ()AS Level 2 (DPS)pto.tprint ins(%src : !pto.tile_buf... | !pto.partition_tensor_viewMxNxdtype)TMRGSORT该指令的详细介绍请见isa/TMRGSORTAS Level 1 (SSA)%dst pto.tmrgsort %src, %blockLen : (!pto.tile..., dtype) - !pto.tile... %dst, %executed pto.tmrgsort %src0, %src1, %src2, %src3 {exhausted false} : (!pto.tile..., !pto.tile..., !pto.tile..., !pto.tile...) - (!pto.tile..., vector4xi16)AS Level 2 (DPS)pto.tmrgsort ins(%src, %blockLen : !pto.tile_buf..., dtype) outs(%dst : !pto.tile_buf...) pto.tmrgsort ins(%src0, %src1, %src2, %src3 {exhausted false} : !pto.tile_buf..., !pto.tile_buf..., !pto.tile_buf..., !pto.tile_buf...) outs(%dst, %executed : !pto.tile_buf..., vector4xi16)TSORT32该指令的详细介绍请见isa/TSORT32AS Level 1 (SSA)%dst, %idx pto.tsort32 %src : !pto.tile... - (!pto.tile..., !pto.tile...)AS Level 2 (DPS)pto.tsort32 ins(%src : !pto.tile_buf...) outs(%dst, %idx : !pto.tile_buf..., !pto.tile_buf...)TGATHER该指令的详细介绍请见isa/TGATHERAS Level 1 (SSA)%dst pto.tgather %src, %indices : (!pto.tile..., !pto.tile...) - !pto.tile... %dst pto.tgather %src {maskPattern #pto.mask_patternP0101}: !pto.tile... - !pto.tile...AS Level 2 (DPS)pto.tgather ins(%src, %indices : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...) pto.tgather ins(%src, {maskPattern #pto.mask_patternP0101} : !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCI该指令的详细介绍请见isa/TCIAS Level 1 (SSA)%dst pto.tci %scalar {descending false} : dtype - !pto.tile...AS Level 2 (DPS)pto.tci ins(%scalar {descending false} : dtype) outs(%dst : !pto.tile_buf...)TTRI该指令的详细介绍请见isa/TTRIAS Level 1 (SSA)%dst pto.ttri %src0, %src1 : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS)pto.ttri ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TRANDOM该指令的详细介绍请见isa/TRANDOMAS Level 1 (SSA)%dst pto.trandom %key, %counter {rounds 10} : - !pto.tile...AS Level 2 (DPS)pto.trandom ins(%key, %counter {rounds 10} : dtype) outs(%dst : !pto.tile_buf...)TPARTADD该指令的详细介绍请见isa/TPARTADDAS Level 1 (SSA)%dst pto.tpartadd %src0, %src1 : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS)pto.tpartadd ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TPARTMUL该指令的详细介绍请见isa/TPARTMULAS Level 1 (SSA)%dst pto.tpartmul %src0, %src1 : !pto.tile... - !pto.tile...AS Level 2 (DPS)pto.tpartmul ins(%src0, %src1 : !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TPARTMAX该指令的详细介绍请见isa/TPARTMAXAS Level 1 (SSA)%dst pto.tpartmax %src0, %src1 : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS)pto.tpartmax ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TPARTMIN该指令的详细介绍请见isa/TPARTMINAS Level 1 (SSA)%dst pto.tpartmin %src0, %src1 : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS)pto.tpartmin ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TPARTARGMAX该指令的详细介绍请见isa/TPARTARGMAXAS Level 1 (SSA)%dstVal, %dstIdx pto.tpartargmax %src0Val, %src1Val, %src0Idx, %src1Idx : (!pto.tile..., !pto.tile..., !pto.tile..., !pto.tile...) - (!pto.tile..., !pto.tile...)AS Level 2 (DPS)pto.tpartargmax ins(%src0Val, %src1Val, %src0Idx, %src1Idx : !pto.tile_buf..., !pto.tile_buf..., !pto.tile_buf..., !pto.tile_buf...) outs(%dstVal, %dstIdx : !pto.tile_buf..., !pto.tile_buf...)TPARTARGMIN该指令的详细介绍请见isa/TPARTARGMINAS Level 1 (SSA)%dstVal, %dstIdx pto.tpartargmin %src0Val, %src1Val, %src0Idx, %src1Idx : (!pto.tile..., !pto.tile..., !pto.tile..., !pto.tile...) - (!pto.tile..., !pto.tile...)AS Level 2 (DPS)pto.tpartargmin ins(%src0Val, %src1Val, %src0Idx, %src1Idx : !pto.tile_buf..., !pto.tile_buf..., !pto.tile_buf..., !pto.tile_buf...) outs(%dstVal, %dstIdx : !pto.tile_buf..., !pto.tile_buf...)TGATHERB该指令的详细介绍请见isa/TGATHERBAS Level 1 (SSA)%dst pto.tgatherb %src, %offsets : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS)pto.tgatherb ins(%src, %offsets : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TSCATTER该指令的详细介绍请见isa/TSCATTERAS Level 1 (SSA)%dst pto.tscatter %src, %idx : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS)pto.tscatter ins(%src, %idx : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TQUANT该指令的详细介绍请见isa/TQUANTAS Level 1 (SSA)%dst pto.tquant %src, %qp : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS)pto.tquant ins(%src, %qp : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)【免费下载链接】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),仅供参考