tl.program_id(0) returns: the index of the current parallel block
Image: Svein-Magne Tunli, CC BY-SA 3.0, via Wikimedia Commons
tl.program_id(0) returns: the index of the current parallel block
tl.arange(0, BLOCK_SIZE) creates: a range of indices within the current block
`tl.arange(0, BLOCK_SIZE)` creates a range of indices from 0 to BLOCK_SIZE-1
tl.dot does in Triton: block-level matrix multiply using tensor cores
tl.dot performs block-level matrix multiplication using tensor cores in Triton
BLOCK_SIZE means in Triton: the tile size each program instance processes
BLOCK_SIZE in Triton refers to the size of the data chunk processed by each program instance
tl.load and tl.store do in Triton: read/write tensors from/to GPU global memory
`tl.load` reads tensors from GPU memory; `tl.store` writes tensors to GPU memory
tl.where(mask, x, 0) does: conditional select to handle boundary conditions
`tl.where(mask, x, 0) = x if mask else 0`
Triton differs from CUDA
Triton uses block-level programming, while CUDA uses thread-level programming
One email a day: 5 concepts + the 5 stories that matter →
Swipe through 100 ML concepts daily
Open TickerNews