19.1. Working with AOCL Library Sources via Git Submodules - 5.2 English - 57404

AOCL User Guide (57404)

Document ID
57404
Release Date
2025-12-29
Version
5.2 English

For easier access to all AOCL library sources, we have included them as git submodules under the submodules branch of the repository:

$ git clone --recurse-submodules https://github.com/amd/aocl.git -b submodules
$ cd aocl/submodules  # Navigate to AOCL library sources

or

$ git clone --recurse-submodules git@github.com:amd/aocl.git -b submodules
$ cd aocl/submodules  # Navigate to AOCL library sources

The git submodules include: AOCL-BLAS, AOCL-Compression, AOCL-Cryptography, AOCL-Data-Analytics, AOCL-LAPACK, AOCL-LibM, AOCL-LibMem, AOCL-ScaLAPACK, AOCL-Sparse, and AOCL-Utils.

Alternatively, only selected submodules can be downloaded. The following table shows the mapping between AOCL library names and their corresponding submodule names:

AOCL Library Name

Submodule Name

AOCL-BLAS

submodules/blis

AOCL-Compression

submodules/aocl-compression

AOCL-Cryptography

submodules/aocl-crypto

AOCL-Data-Analytics

submodules/aocl-data-analytics

AOCL-LAPACK

submodules/libflame

AOCL-LibM

submodules/aocl-libm

AOCL-LibMem

submodules/aocl-libmem

AOCL-ScaLAPACK

submodules/aocl-scalapack

AOCL-Sparse

submodules/aocl-sparse

AOCL-Utils

submodules/aocl-utils

Example 1: Download only AOCL-BLAS, AOCL-LAPACK, and AOCL-Utils

$ git clone https://github.com/amd/aocl.git -b submodules
$ cd aocl
$ git submodule init
$ git submodule update submodules/blis submodules/libflame submodules/aocl-utils

Example 2: Download only AOCL-Sparse and AOCL-Compression

$ git clone https://github.com/amd/aocl.git -b submodules
$ cd aocl
$ git submodule init
$ git submodule update submodules/aocl-sparse submodules/aocl-compression

Note

AOCL-Utils (submodules/aocl-utils) is required as a dependency for all AOCL libraries except AOCL-BLAS. When downloading selective submodules, ensure that submodules/aocl-utils is included unless you are only building AOCL-BLAS.

This approach provides:

  • All AOCL library sources locally available

  • Consistent versioning across all components

  • Simplified build process without external dependencies

  • Offline development capability