轴归约/扩展操作
【免费下载链接】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
本文档描述行/列归约和广播操作。
操作总数:23
操作
TROWSUM
该指令的详细介绍请见isa/TROWSUM
AS 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<...>)TCOLSUM
该指令的详细介绍请见isa/TCOLSUM
AS 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<...>)TCOLPROD
该指令的详细介绍请见isa/TCOLPROD
AS 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<...>)TCOLMAX
该指令的详细介绍请见isa/TCOLMAX
AS 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<...>)TROWMAX
该指令的详细介绍请见isa/TROWMAX
AS 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<...>)TROWMIN
该指令的详细介绍请见isa/TROWMIN
AS 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<...>)TROWEXPAND
该指令的详细介绍请见isa/TROWEXPAND
AS 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<...>)TROWEXPANDDIV
该指令的详细介绍请见isa/TROWEXPANDDIV
AS 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<...>)TROWEXPANDMUL
该指令的详细介绍请见isa/TROWEXPANDMUL
AS 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<...>)TROWEXPANDSUB
该指令的详细介绍请见isa/TROWEXPANDSUB
AS 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<...>)TROWEXPANDADD
该指令的详细介绍请见isa/TROWEXPANDADD
AS 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<...>)TROWEXPANDMAX
该指令的详细介绍请见isa/TROWEXPANDMAX
AS 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<...>)TROWEXPANDMIN
该指令的详细介绍请见isa/TROWEXPANDMIN
AS 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<...>)TROWEXPANDEXPDIF
该指令的详细介绍请见isa/TROWEXPANDEXPDIF
AS 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<...>)TCOLMIN
该指令的详细介绍请见isa/TCOLMIN
AS 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<...>)TCOLEXPAND
该指令的详细介绍请见isa/TCOLEXPAND
AS 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<...>)TCOLEXPANDDIV
该指令的详细介绍请见isa/TCOLEXPANDDIV
AS 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<...>)TCOLEXPANDMUL
该指令的详细介绍请见isa/TCOLEXPANDMUL
AS 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<...>)TCOLEXPANDADD
该指令的详细介绍请见isa/TCOLEXPANDADD
AS 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<...>)TCOLEXPANDMAX
该指令的详细介绍请见isa/TCOLEXPANDMAX
AS 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<...>)TCOLEXPANDMIN
该指令的详细介绍请见isa/TCOLEXPANDMIN
AS 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<...>)TCOLEXPANDSUB
该指令的详细介绍请见isa/TCOLEXPANDSUB
AS 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<...>)TCOLEXPANDEXPDIF
该指令的详细介绍请见isa/TCOLEXPANDEXPDIF
AS 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<...>)TROWPROD
该指令的详细介绍请见isa/TROWPROD
AS 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),仅供参考