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 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 C++ 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 HIP C++ (using C++17 features) and it uses the HIP 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).