Library Source Code Organization#

The hipBLAS code is split into two major parts:

  • The library directory contains all source code for the library.

  • The clients directory contains all test code and code to build clients.

  • Infrastructure

The library directory#


Contains C98 include files for the external API. These files also contain Doxygen comments that document the API.


Implementation of hipBLAS interface compatible with rocBLAS APIs.


Implementation of hipBLAS interface compatible with cuBLAS-v2 APIs.


Internal include files for:

  • Converting C++ exceptions to hipBLAS status.

The clients directory#


Code for client hipblas-test. This client is used to test hipBLAS. Refer to Clients for more information.


Code for client hipblas-bench. This client is used to benchmark hipBLAS functions. Refer to Clients for more information.


Code for testing and benchmarking individual hipBLAS functions, and utility code for testing.


Common code used by both hipblas-bench and hipblas-test.


Sample code for calling hipBLAS functions.


  • CMake is used to build and package hipBLAS. There are CMakeLists.txt files throughout the code.

  • Doxygen/Breathe/Sphinx/ReadTheDocs are used to produce documentation. Content for the documentation is from:

    • Doxygen comments in include files in the directory library/include

    • files in the directory docs.

  • Jenkins is used to automate Continuous Integration testing.

  • clang-format is used to format C++ code.