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