IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /get-started.md).

Mojo module

id

This module provides GPU thread and block indexing functionality.

It defines aliases and functions for accessing GPU grid, block, and thread indices and dimensions.

comptime values

block_dim

comptime block_dim = _BlockDim()

Contains the dimensions of the block as x, y, and z values.

For example: block_dim.y.

block_id_in_cluster

comptime block_id_in_cluster = _ClusterBlockIdx()

Contains the block id of the threadblock within a cluster, as x, y, and z values.

block_idx

comptime block_idx = _BlockIdx()

Contains the block index in the grid, as x, y, and z values.

cluster_dim

comptime cluster_dim = _ClusterDim()

Contains the dimensions of the cluster, as x, y, and z values.

cluster_idx

comptime cluster_idx = _ClusterIdx()

Contains the cluster index in the grid, as x, y, and z values.

global_idx

comptime global_idx = _GlobalIdx()

Contains the global offset of the kernel launch, as x, y, and z values.

grid_dim

comptime grid_dim = _GridDim()

Provides accessors for getting the x, y, and z dimensions of a grid.

thread_idx

comptime thread_idx = _ThreadIdx()

Contains the thread index in the block, as x, y, and z values.

Functions

  • lane_id: Returns the lane ID of the current thread within its warp.
  • sm_id: Returns the Streaming Multiprocessor (SM) ID of the current thread.
  • warp_id: Returns the warp ID of the current thread within its block. The warp ID is a unique identifier for each warp within a block, ranging from 0 to BLOCK_SIZE/WARP_SIZE-1. This ID is commonly used for warp-level programming and synchronization within a block.

Was this page helpful?