This page contains proposed changes for a future release of ROCm. Read the latest Linux release of ROCm documentation for your production environments.

What is hipBLASLt?

What is hipBLASLt?#

hipBLASLt is a library that provides GEMM operations with flexible APIs and extends functionality beyond the traditional BLAS library. hipBLASLt provides APIs in the HIP programming language with an underlying optimized generator as a backend kernel provider.

The library adds flexibility for matrix data layouts, input types, and compute types and for choosing the algorithmic implementations and heuristics through parameter programmability. After identifying a set of options for the intended GEMM operations, you can repeatedly use these options for different inputs.

The GEMM operation of hipBLASLt is performed by hipblasLtMatmul() using this equation:

\[D = Activation(alpha \cdot op(A) \cdot op(B) + beta \cdot op(C) + bias)\]

where \(op(A)/op(B)\) refers to in-place operations such as transpose/non-transpose and \(alpha\) and \(beta\) are the scalars. The \(Activation\) function supports Gelu, Relu, Swish (SiLU), and Clamp. The \(Bias\) vector matches matrix \(D\) rows and broadcasts to all \(D\) columns.