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, and Swish (SiLU). The \(Bias\) vector matches matrix \(D\) rows and broadcasts to all \(D\) columns.