
Axis Reduce / Expand【免费下载链接】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-isaThis document describes row/column reduction and broadcast operations.Total Operations:25OperationsTROWSUMFor detailed instruction documentation, see isa/TROWSUMAS Level 1 (SSA):%dst pto.trowsum %src, %tmp : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS):pto.trowsum ins(%src, %tmp : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLSUMFor detailed instruction documentation, see isa/TCOLSUMAS Level 1 (SSA):%dst pto.tcolsum %src : !pto.tile... - !pto.tile... %dst pto.tcolsum %src, %tmp {isBinary false} : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS):pto.tcolsum ins(%src : !pto.tile_buf...) outs(%dst : !pto.tile_buf...) pto.tcolsum ins(%src, %tmp {isBinary false} : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLPRODFor detailed instruction documentation, see isa/TCOLPRODAS Level 1 (SSA):%dst pto.tcolprod %src : !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolprod ins(%src : !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLMAXFor detailed instruction documentation, see isa/TCOLMAXAS Level 1 (SSA):%dst pto.tcolmax %src : !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolmax ins(%src : !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TROWMAXFor detailed instruction documentation, see isa/TROWMAXAS Level 1 (SSA):%dst pto.trowmax %src, %tmp : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS):pto.trowmax ins(%src, %tmp : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TROWMINFor detailed instruction documentation, see isa/TROWMINAS Level 1 (SSA):%dst pto.trowmin %src, %tmp : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS):pto.trowmin ins(%src, %tmp : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TROWEXPANDFor detailed instruction documentation, see isa/TROWEXPANDAS Level 1 (SSA):%dst pto.trowexpand %src : !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.trowexpand ins(%src : !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TROWEXPANDDIVFor detailed instruction documentation, see isa/TROWEXPANDDIVAS Level 1 (SSA):%dst pto.tcolexpanddiv %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolexpanddiv ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TROWEXPANDMULFor detailed instruction documentation, see isa/TROWEXPANDMULAS Level 1 (SSA):%dst pto.tcolexpandmul %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolexpandmul ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TROWEXPANDSUBFor detailed instruction documentation, see isa/TROWEXPANDSUBAS Level 1 (SSA):%dst pto.tcolexpandsub %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolexpandsub ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TROWEXPANDADDFor detailed instruction documentation, see isa/TROWEXPANDADDAS Level 1 (SSA):%dst pto.trowexpandadd %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.trowexpandadd ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TROWEXPANDMAXFor detailed instruction documentation, see isa/TROWEXPANDMAXAS Level 1 (SSA):%dst pto.trowexpandmax %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.trowexpandmax ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TROWEXPANDMINFor detailed instruction documentation, see isa/TROWEXPANDMINAS Level 1 (SSA):%dst pto.trowexpandmin %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.trowexpandmin ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TROWEXPANDEXPDIFFor detailed instruction documentation, see isa/TROWEXPANDEXPDIFAS Level 1 (SSA):%dst pto.trowexpandexpdif %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.trowexpandexpdif ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLMINFor detailed instruction documentation, see isa/TCOLMINAS Level 1 (SSA):%dst pto.tcolmin %src : !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolmin ins(%src : !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLEXPANDFor detailed instruction documentation, see isa/TCOLEXPANDAS Level 1 (SSA):%dst pto.tcolexpand %src : !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolexpand ins(%src : !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLEXPANDDIVFor detailed instruction documentation, see isa/TCOLEXPANDDIVAS Level 1 (SSA):%dst pto.tcolexpanddiv %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolexpanddiv ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLEXPANDMULFor detailed instruction documentation, see isa/TCOLEXPANDMULAS Level 1 (SSA):%dst pto.tcolexpandmul %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolexpandmul ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLEXPANDADDFor detailed instruction documentation, see isa/TCOLEXPANDADDAS Level 1 (SSA):%dst pto.tcolexpandadd %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolexpandadd ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLEXPANDMAXFor detailed instruction documentation, see isa/TCOLEXPANDMAXAS Level 1 (SSA):%dst pto.tcolexpandmax %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolexpandmax ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLEXPANDMINFor detailed instruction documentation, see isa/TCOLEXPANDMINAS Level 1 (SSA):%dst pto.tcolexpandmin %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolexpandmin ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLEXPANDSUBFor detailed instruction documentation, see isa/TCOLEXPANDSUBAS Level 1 (SSA):%dst pto.tcolexpandsub %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolexpandsub ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TCOLEXPANDEXPDIFFor detailed instruction documentation, see isa/TCOLEXPANDEXPDIFAS Level 1 (SSA):%dst pto.tcolexpandexpdif %src0, %src1 : !pto.tile..., !pto.tile... - !pto.tile...AS Level 2 (DPS):pto.tcolexpandexpdif ins(%src0, %src1 : !pto.tile_buf..., !pto.tile_buf...) outs(%dst : !pto.tile_buf...)TROWPRODFor detailed instruction documentation, see isa/TROWPRODAS Level 1 (SSA):%dst pto.trowprod %src, %tmp : (!pto.tile..., !pto.tile...) - !pto.tile...AS Level 2 (DPS):pto.trowprod ins(%src, %tmp : !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),仅供参考