What is rocBLAS?

What is rocBLAS?#

rocBLAS is the AMD library for Basic Linear Algebra Subprograms (BLAS) on the ROCm platform. It is implemented in the HIP programming language and optimized for AMD GPUs. For more detailed component information, see rocBLAS design notes.

rocBLAS aims to provide the following:

  • Functionality similar to legacy BLAS, adapted to run on AMD GPUs

  • A high-performance, robust implementation

rocBLAS is written in C++17 and HIP and uses the AMD ROCm runtime.

The rocBLAS API is a thin C99 API that uses the hourglass pattern. It contains:

Note

  • The official rocBLAS API is the C99 API defined in rocblas.h. Therefore, the use of any other public symbols is discouraged. Other C/C++ interfaces might not follow a deprecation model and could change without warning from one release to the next.

  • The rocBLAS array storage format is column major and one-based. This is to maintain compatibility with the legacy BLAS Fortran code.

  • rocBLAS calls the AMD Tensile and hipBLASLt libraries for Level-3 GEMMs (matrix matrix multiplication).