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:
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.