CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
89 lines
2.5 KiB
ReStructuredText
89 lines
2.5 KiB
ReStructuredText
.. meta::
|
|
:description: Documentation of the hipBLAS library source code organization
|
|
:keywords: hipBLAS, rocBLAS, BLAS, ROCm, API, Linear Algebra, documentation, library, organization
|
|
|
|
.. _hipblas-orga:
|
|
|
|
**********************************
|
|
Library source code organization
|
|
**********************************
|
|
|
|
The hipBLAS code is split into the following sections:
|
|
|
|
* The ``library`` directory, which contains all source code for the library
|
|
* The ``clients`` directory, which contains all test code and the code to build clients
|
|
* Infrastructure
|
|
|
|
The library directory
|
|
--------------------------
|
|
|
|
The ``library`` directory includes the following subdirectories.
|
|
|
|
library/include
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
Contains C98 include files for the external API. These files include Doxygen
|
|
comments that document the API.
|
|
|
|
library/src/amd_detail
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Implementation of the hipBLAS interface, which is compatible with the rocBLAS APIs.
|
|
|
|
library/src/nvidia_detail
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Implementation of the hipBLAS interface, which is compatible with the cuBLAS-v2 APIs.
|
|
|
|
library/src/include
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Internal include files for converting C++ exceptions to hipBLAS statuses.
|
|
|
|
The clients directory
|
|
-----------------------
|
|
|
|
The ``clients`` directory includes the following subdirectories.
|
|
|
|
clients/gtest
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Code for the hipblas-test client. This client is used to test hipBLAS. For
|
|
more information, see :ref:`hipblas-clients`.
|
|
|
|
clients/benchmarks
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Code for the hipblas-bench client. This client is used to benchmark hipBLAS functions.
|
|
For more information, see :ref:`hipblas-clients`.
|
|
|
|
clients/include
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Code for testing and benchmarking individual hipBLAS functions and utility code for testing.
|
|
|
|
clients/common
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Common code used by both hipblas-bench and hipblas-test.
|
|
|
|
clients/samples
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Sample code demonstrating how to call hipBLAS functions.
|
|
|
|
Infrastructure
|
|
--------------
|
|
|
|
The following utilities support the hipBLAS infrastructure:
|
|
|
|
* CMake is used to build and package hipBLAS. There are ``CMakeLists.txt`` files throughout the code.
|
|
* Doxygen, Breathe, Sphinx, and ReadTheDocs generate the documentation. The following sources supply
|
|
content for the documentation:
|
|
|
|
* Doxygen comments in the include files in the ``library/include`` directory
|
|
* Files in the ``docs`` directory
|
|
|
|
* Jenkins is used to automate continuous integration (CI) testing.
|
|
* clang-format is used to format C++ code.
|