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 trait

CommTuningConfig

Tuning-table entry for a multi-GPU communication collective.

Extends TuningConfig with the four dimensions that drive kernel-launch selection: SM version, GPU count, total data size, and thread-block count. Implement this trait to supply custom tuning tables to dispatch_select_comm_config.

Implemented traits​

AnyType, Copyable, Deinitable, ImplicitlyCopyable, Movable, RegisterPassable, TrivialRegisterPassable, TuningConfig, Writable

Required methods​

get_num_blocks​

def get_num_blocks(self) -> Int

Returns the number of thread blocks to launch for this configuration.

Returns:

Int: The thread-block count, which must not exceed 512 (MAX_NUM_BLOCKS_UPPER_BOUND).

get_num_bytes​

def get_num_bytes(self) -> Int

Returns the maximum input size in bytes covered by this entry.

dispatch_select_comm_config selects the first entry whose get_num_bytes() is at least the actual transfer size.

Returns:

Int: The upper-bound byte count for this tuning entry, or -1 for the default (catch-all) entry.

get_sm_version​

def get_sm_version(self) -> StaticString

Returns the SM version string this entry targets.

Returns:

StaticString: A string such as "sm_90a" or "sm_100a", or "default" for the architecture-agnostic fallback entry.

get_ngpus​

def get_ngpus(self) -> Int

Returns the GPU count this entry targets.

Returns:

Int: The number of participating GPUs, or -1 for the default (catch-all) entry.

Was this page helpful?