tilelang.carver.template.matmul¶
Classes¶
A template for matrix multiplication (MatMul). |
Module Contents¶
- class tilelang.carver.template.matmul.MatmulTemplate¶
Bases:
tilelang.carver.template.base.BaseTemplate
A template for matrix multiplication (MatMul).
This class defines the computation for a matrix-matrix multiplication with configurable parameters such as transposition, data types, and bias addition.
- M¶
Number of rows in matrix A and matrix C.
- Type:
int
- N¶
Number of columns in matrix B and matrix C.
- Type:
int
- K¶
Number of columns in matrix A and rows in matrix B.
- Type:
int
- trans_A¶
Whether to transpose matrix A before multiplication.
- Type:
bool
- trans_B¶
Whether to transpose matrix B before multiplication.
- Type:
bool
- in_dtype¶
Data type of input matrices.
- Type:
str
- out_dtype¶
Data type of output matrix.
- Type:
str
- accum_dtype¶
Data type used for accumulation.
- Type:
str
- with_bias¶
Whether to add a bias term.
- Type:
bool
- M: int = None¶
- N: int = None¶
- K: int = None¶
- trans_A: bool = False¶
- trans_B: bool = True¶
- in_dtype: str = 'float16'¶
- out_dtype: str = 'float16'¶
- accum_dtype: str = 'float16'¶
- with_bias: bool = False¶
- get_hardware_aware_configs(arch=None, topk=10)¶
Retrieves optimized hardware-aware configurations.
- Parameters:
arch (TileDevice, optional) – The target hardware architecture.
topk (int, optional) – Number of top configurations to consider.
- Returns:
A list of optimization hints for hardware acceleration.
- Return type:
List[Hint]
- initialize_function()¶
Defines and initializes the matrix multiplication computation.
This method sets up placeholders for input matrices, computes the matrix multiplication using TVM’s compute API, and optionally applies bias and type casting.
- Raises:
AssertionError – If M, N, or K are not positive integers.
- Return type:
None
- params_as_dict()¶
Returns the template parameters as a dictionary.
- Returns:
Dictionary containing template parameter values.
- Return type:
dict
- property class_attributes¶
Returns the class attributes in dictionary form.
- Returns:
Dictionary of class attributes.
- Return type:
dict
- __repr__()¶
Returns a string representation of the class instance.
- Returns:
A formatted string representation of the class.
- Return type:
str