Skip to main content
`Ctrl`+`K`

# hipBLASLt environment variables

This section describes the important hipBLASLt environment variables, which are grouped by functionality.

## Logging and debugging

The logging and debugging environment variables for hipBLASLt are collected in the following table. For more information, see Use logging and heuristics.

Environment variable | Value
--- | ---
`HIPBLASLT_LOG_LEVEL` Controls the verbosity level of hipBLASLt logging output. | 0: Off (logging disabled, default) 1: Error (only errors are logged) 2: Trace (API calls with kernel launches log parameters) 3: Hints (performance improvement suggestions) 4: Info (general library execution information) 5: API trace (detailed API call parameters)
`HIPBLASLT_LOG_MASK` Controls logging output using bit mask flags (can be combined). | 0: Off 1: Error 2: Trace 4: Hints 8: Info 16: API trace 32: Bench 64: Profile 128: Extended profile
`HIPBLASLT_LOG_FILE` Specifies path to logging file. Can contain `%i` for process ID replacement. | Path to log file (for example, `logfile_%i.log`) If not defined: log messages printed to stdout
`HIPBLASLT_ENABLE_MARKER` Enables marker trace for ROCProfiler profiling. | 0 or unset: Disable marker trace 1: Enable marker trace

## Offline tuning

The offline tuning environment variables for hipBLASLt are collected in the following table. For more information, see Use hipBLASLt offline tuning.

Environment variable | Value
--- | ---
`HIPBLASLT_TUNING_FILE` Specifies file to store tuning results with best solution indices for GEMM problems. | Path to tuning file (for example, `tuning.txt`) File stores optimal kernel indices for reuse
`HIPBLASLT_TUNING_OVERRIDE_FILE` Specifies file to load tuning results and override default kernel selection. | Path to tuning file (for example, `tuning.txt`) Loads previously saved optimal kernel choices
`HIPBLASLT_TUNING_USER_MAX_WORKSPACE` Sets maximum workspace size constraint during tuning stage. | Integer value in bytes (default: 128 * 1024 * 1024) Limits workspace size for solution selection

## Origami with Stream-K configuration

The Origami with Stream-K configuration environment variables for hipBLASLt are collected in the following table. These variables apply to all GEMMs in an application. For more information, see Use Stream-K with hipBLASLt.

Environment variable | Value
--- | ---
`TENSILE_SOLUTION_SELECTION_METHOD` Controls hipBLASLt kernel selection strategy for GEMM operations. | 0: Default (standard tuned libraries, no Stream-K) 2: Origami with Stream-K (enables Origami solution selection for consistent performance) This variable has no effect on the AMD Instinct™ MI350 series. Stream-K is always used.

`TENSILE_STREAMK_DYNAMIC_GRID`
Controls Stream-K dynamic grid size selection behavior.

0: Disable dynamic grid (use all available compute units)
1: Only reduce compute units for small problems to the number of output tiles when `num_tiles < CU count`
2: Also reduce compute units for large sizes to improve the data-parallel portion and reduce power
3: Analytically predict the best grid size by weighing the cost of the fix-up step and the cost of processing MACs
4: The Stream-K algorithm behaves like data parallel (Launch WGs = number of CUs)
5: The Stream-K algorithm uses the Origami `select_best_grid_size` function
6: Default (automatically pick the optimal workgroup count)

`TENSILE_STREAMK_FIXED_GRID` Overrides default grid size with specified number of workgroups for Stream-K kernels. | Integer value specifying number of workgroups Example: 64 (limits GEMM kernels to 64 workgroups)
`TENSILE_STREAMK_MAX_CUS` Sets maximum number of compute units for Stream-K kernels. | Integer value specifying maximum compute units Example: 32 (limits GEMM kernels to 32 compute units) Default: All available compute units

## Type overrides

Overrides for specific types.

Environment variable | Value
--- | ---
`HIPBLASLT_OVERRIDE_COMPUTE_TYPE_XF32` Overrides the compute type used for GEMMs which specify a compute type of `XF32`. | -1: Off (Default) 0: F32 1: XF32(eg TF32) 2: F32_BF16