PTO ISA Manual

1. Introduction

  • Introduction
  • Document Structure
  • Goals Of PTO
  • Current PTO ISA Scope
  • Scope And Boundaries

2. Programming Model

  • Tiles And Valid Regions
  • GlobalTensor And Data Movement
  • Auto Vs Manual

3. Machine Model

  • Execution Agents And Target Profiles
  • Ordering And Synchronization

4. Syntax And Operands

  • Assembly Spelling And Operands
  • Operands And Attributes
  • Common Conventions

5. State And Types

  • Type System
  • Layout Reference
  • Data Format Reference
  • Location Intent And Legality

6. Memory Model

  • Consistency Baseline
  • Producer Consumer Ordering

7. Instruction Set Overview

  • Overview
  • Tile Instruction Set
  • Vector Instruction Set
  • Scalar And Control Instruction Set
  • Communication Instruction Set
  • System Scheduling Instruction Set

8. Tile Instruction Reference

  • Overview
  • View And Tile Buffer
    • Instruction Set Contract
    • pto.make_tensor_view
    • pto.get_tensor_view_dim
    • pto.get_tensor_view_stride
    • pto.tensor_view_addr
    • pto.partition_view
    • pto.alloc_tile
    • pto.subset
    • pto.set_validshape
    • pto.tile_buf_addr
  • Sync And Config
    • Instruction Set Contract
    • pto.tsync
    • pto.syncall
    • pto.tassign
    • pto.talias
    • pto.sethf32mode
    • pto.settf32mode
    • pto.setfmatrix
    • pto.set_img2col_rpt
    • pto.set_img2col_padding
    • pto.subview
    • pto.get_scale_addr
  • Elementwise Tile Tile
    • Instruction Set Contract
    • pto.tadd
    • pto.tabs
    • pto.tand
    • pto.tor
    • pto.tsub
    • pto.tmul
    • pto.tmin
    • pto.tmax
    • pto.tcmp
    • pto.tdiv
    • pto.tshl
    • pto.tshr
    • pto.txor
    • pto.tlog
    • pto.trecip
    • pto.tprelu
    • pto.taddc
    • pto.tsubc
    • pto.tcvt
    • pto.tsel
    • pto.trsqrt
    • pto.tsqrt
    • pto.texp
    • pto.tpow
    • pto.tnot
    • pto.trelu
    • pto.tneg
    • pto.trem
    • pto.tfmod
  • Tile Scalar And Immediate
    • Instruction Set Contract
    • pto.texpands
    • pto.taxpy
    • pto.tcmps
    • pto.tsels
    • pto.tmins
    • pto.tadds
    • pto.tsubs
    • pto.tdivs
    • pto.tmuls
    • pto.tpows
    • pto.tfmods
    • pto.trems
    • pto.tmaxs
    • pto.tands
    • pto.tors
    • pto.tshls
    • pto.tshrs
    • pto.txors
    • pto.tlrelu
    • pto.taddsc
    • pto.tsubsc
  • Reduce And Expand
    • Instruction Set Contract
    • pto.trowsum
    • pto.tcolsum
    • pto.trowprod
    • pto.tcolprod
    • pto.tcolmax
    • pto.tcolmin
    • pto.tcolargmax
    • pto.tcolargmin
    • pto.trowmax
    • pto.trowmin
    • pto.trowargmax
    • pto.trowargmin
    • pto.trowexpand
    • pto.trowexpanddiv
    • pto.trowexpandmul
    • pto.trowexpandsub
    • pto.trowexpandadd
    • pto.trowexpandmax
    • pto.trowexpandmin
    • pto.trowexpandexpdif
    • pto.tcolexpand
    • pto.tcolexpanddiv
    • pto.tcolexpandmul
    • pto.tcolexpandadd
    • pto.tcolexpandmax
    • pto.tcolexpandmin
    • pto.tcolexpandsub
    • pto.tcolexpandexpdif
  • Memory And Data Movement
    • Instruction Set Contract
    • pto.tload
    • pto.tprefetch
    • pto.tprefetch_async
    • pto.tstore
    • pto.mgather
    • pto.mscatter
  • Matrix And Matrix Vector
    • Instruction Set Contract
    • pto.tgemv_mx
    • pto.tmatmul_mx
    • pto.tmatmul
    • pto.tmatmul_acc
    • pto.tmatmul_bias
    • pto.tgemv
    • pto.tgemv_acc
    • pto.tgemv_bias
  • Layout And Rearrangement
    • Instruction Set Contract
    • pto.textract
    • pto.timg2col
    • pto.tinsert
    • pto.tfillpad
    • pto.tfillpad_inplace
    • pto.tfillpad_expand
    • pto.tmov
    • pto.tconcat
    • pto.tpack
    • pto.treshape
    • pto.ttrans
  • Irregular And Complex
    • Instruction Set Contract
    • pto.tprint
    • pto.tmrgsort
    • pto.tsort32
    • pto.tgather
    • pto.tgatherb
    • pto.tscatter
    • pto.tci
    • pto.ttri
    • pto.tpartadd
    • pto.tpartmul
    • pto.tpartmax
    • pto.tpartmin
    • pto.tquant
    • pto.tdequant
    • pto.trandom
    • pto.thistogram

9. Vector Instruction Reference

  • Overview
  • Vector Load Store
    • Instruction Set Overview
    • pto.vlds
    • pto.vldas
    • pto.vldus
    • pto.vldsx2
    • pto.vsld
    • pto.vsldb
    • pto.vgather2
    • pto.vgatherb
    • pto.vgather2_bc
    • pto.vsts
    • pto.vstsx2
    • pto.vsst
    • pto.vsstb
    • pto.vscatter
    • pto.vsta
    • pto.vstas
    • pto.vstar
    • pto.vstu
    • pto.vstus
    • pto.vstur
  • Predicate And Materialization
    • Instruction Set Overview
    • pto.vbr
    • pto.vdup
  • Unary Vector Instructions
    • Instruction Set Overview
    • pto.vabs
    • pto.vneg
    • pto.vexp
    • pto.vln
    • pto.vsqrt
    • pto.vrsqrt
    • pto.vrec
    • pto.vrelu
    • pto.vnot
    • pto.vbcnt
    • pto.vcls
    • pto.vmov
  • Binary Vector Instructions
    • Instruction Set Overview
    • pto.vadd
    • pto.vsub
    • pto.vmul
    • pto.vdiv
    • pto.vmax
    • pto.vmin
    • pto.vand
    • pto.vor
    • pto.vxor
    • pto.vshl
    • pto.vshr
    • pto.vaddc
    • pto.vsubc
  • Vector-Scalar Instructions
    • Instruction Set Overview
    • pto.vadds
    • pto.vsubs
    • pto.vmuls
    • pto.vmaxs
    • pto.vmins
    • pto.vands
    • pto.vors
    • pto.vxors
    • pto.vshls
    • pto.vshrs
    • pto.vlrelu
    • pto.vaddcs
    • pto.vsubcs
  • Conversion Ops
    • Instruction Set Overview
    • pto.vci
    • pto.vcvt
    • pto.vtrc
  • Reduction Instructions
    • Instruction Set Overview
    • pto.vcadd
    • pto.vcmax
    • pto.vcmin
    • pto.vcgadd
    • pto.vcgmax
    • pto.vcgmin
    • pto.vcpadd
  • Compare And Select
    • Instruction Set Overview
    • pto.vcmp
    • pto.vcmps
    • pto.vsel
    • pto.vselr
    • pto.vselrv2
  • Data Rearrangement
    • Instruction Set Overview
    • pto.vintlv
    • pto.vdintlv
    • pto.vslide
    • pto.vshift
    • pto.vsqz
    • pto.vusqz
    • pto.vperm
    • pto.vpack
    • pto.vsunpack
    • pto.vzunpack
    • pto.vintlvv2
    • pto.vdintlvv2
  • SFU And DSA Instructions
    • Instruction Set Overview
    • pto.vprelu
    • pto.vexpdif
    • pto.vaddrelu
    • pto.vsubrelu
    • pto.vaxpy
    • pto.vaddreluconv
    • pto.vmulconv
    • pto.vmull
    • pto.vmula
    • pto.vtranspose
    • pto.vsort32
    • pto.vbitsort
    • pto.vmrgsort

10. Scalar And Control Reference

  • Overview
  • Control And Configuration
    • Instruction Set Overview
  • Pipeline Sync
    • Instruction Set Overview
    • pto.set_flag
    • pto.wait_flag
    • pto.pipe_barrier
    • pto.get_buf
    • pto.rls_buf
    • pto.mem_bar
    • pto.set_cross_core
    • pto.wait_flag_dev
    • pto.set_intra_block
    • pto.wait_intra_core
  • DMA Copy
    • Instruction Set Overview
    • pto.set_loop_size_outtoub
    • pto.set_loop2_stride_outtoub
    • pto.set_loop1_stride_outtoub
    • pto.set_loop_size_ubtoout
    • pto.set_loop2_stride_ubtoout
    • pto.set_loop1_stride_ubtoout
    • pto.copy_gm_to_ubuf
    • pto.copy_ubuf_to_gm
    • pto.copy_ubuf_to_ubuf
  • Predicate Load Store
    • Instruction Set Overview
    • pto.plds
    • pto.pld
    • pto.pldi
    • pto.psts
    • pto.pst
    • pto.psti
    • pto.pstu
  • Predicate Generation And Algebra
    • Instruction Set Overview
    • pto.pset_b8
    • pto.pset_b16
    • pto.pset_b32
    • pto.pge_b8
    • pto.pge_b16
    • pto.pge_b32
    • pto.plt_b8
    • pto.plt_b16
    • pto.plt_b32
    • pto.ppack
    • pto.punpack
    • pto.pand
    • pto.por
    • pto.pxor
    • pto.pnot
    • pto.psel
    • pto.pdintlv_b8
    • pto.pintlv_b16
  • Shared Arithmetic
  • Shared SCF
  • PTO Micro-Instruction Reference
    • Overview
    • BlockDim Query
    • Pointer Operations
    • Vector Execution Scope
    • Alignment State Type

11. Communication ISA Reference

  • Overview
  • Instruction Set Contract
  • pto.tbroadcast
  • pto.tget
  • pto.tget_async
  • pto.tgather
  • pto.tnotify
  • pto.tput
  • pto.tput_async
  • pto.treduce
  • pto.tscatter
  • pto.ttest
  • pto.twait

12. System Scheduling ISA Reference

  • Overview
  • System Scheduling Instruction Set
  • pto.tfree
  • pto.tpop
  • pto.tpush

13. Reference Notes

  • Overview
  • Format Of Instruction Descriptions
  • Diagnostics And Illegal Cases
  • Glossary
  • Portability And Target Profiles
  • Source Of Truth
PTO ISA Manual
  • PTO ISA Manual

PTO ISA Manual¶

Parallel Tile Operation

Read PTO as one coherent manual.

PTO ISA is a multi-target virtual ISA for tile, vector, scalar, and communication operations. Start with the architecture model if you are new to PTO, or jump straight into the grouped instruction reference if you already know the instruction set you need.

Start learning Introduction and reading order Get the scope, document structure, and design boundaries before reading individual ops. Browse the reference ISA index and instruction sets Open the merged ISA tree, then drill into tile, vector, scalar, or communication instructions. Switch language Open the Chinese landing page Use the Chinese reading track when a translated counterpart exists, or fall back to the Chinese hub.

Learn PTO

  • Introduction
  • Document structure
  • Goals of PTO
  • Scope and boundaries
  • Programming model
  • Machine model
  • Memory model

Browse by Instruction Set

  • Tile ISA reference
  • Vector ISA reference
  • Scalar and control reference
  • Communication reference
  • System scheduling reference
  • Instruction overview

Reference Notes

  • Assembly spelling and operands
  • Common conventions
  • Type system
  • Location intent and legality
  • Format of instruction descriptions
  • Reference notes

Built with MkDocs using a theme provided by Read the Docs.
GitHub