Overview
An Atom consists of:- An Operation (pure Python class modeling a specific instruction)
- A Trait (wraps IR value with metadata using CuTe Layouts)
Copy Atoms
make_copy_atom
Creates a copy atom from a copy operation.CopyOp
required
Copy operation (e.g.,
cute.nvgpu.CopyUniversalOp())Type[Numeric]
required
Element data type (e.g.,
cute.Float32, cute.BFloat16)make_tiled_copy
Creates a tiled copy operation with explicit tiling and thread-value layout.CopyAtom
required
Base copy atom
Layout
required
Thread layout mapping thread IDs to coordinates
Layout
required
Value layout defining vectorization per thread
make_tiled_copy_tv
Creates a tiled copy with automatic TV (Thread-Value) layout inference.Specialized Tiled Copy Constructors
TiledCopy Operations
MMA Atoms
make_mma_atom
Creates an MMA atom from an MMA operation.MmaOp
required
MMA operation (e.g., warp or warpgroup MMA)
make_tiled_mma
Creates a tiled MMA operation.MmaAtom
required
Base MMA atom
Layout
default:"None"
Optional custom thread layout (auto-derived if None)
TiledMma Operations
Runtime State Management
Some atoms have runtime state (e.g., tcgen05 MMA accumulate flag).set
Sets runtime fields of an atom.get
Gets runtime fields of an atom.with_
Returns a new atom with modified runtime state.Architecture-Specific Atoms
Ampere (SM80)
Hopper (SM90)
Blackwell (SM100)
Complete Example: Tiled Copy
Complete Example: Tiled MMA
See Also
- Operations Reference - High-level DSL operations
- Memory Operations - Memory management
- Kernel Definition - Defining GPU kernels