11. AOCL-Data Analytics#
The binaries supplied for AOCL-Data Analytics (AOCL-DA) at https://www.amd.com/en/developer/aocl.html
are built using dynamic dispatch, in which code is compiled multiple times for different target architectures (e.g. Zen3, Zen4, or Zen5).
At runtime, the processor will be detected and the appropriately compiled code path selected.
This allows the same binary to run on all supported AMD processors with optimal performance.
If you wish to choose a specific code path, you can set the environment variable AOCL_DA_ARCH. For example: AOCL_DA_ARCH=zen3.
When building AOCL-DA from source, smaller binaries can be obtained by compiling only the code path for a specific processor.
This can be done using the -DARCH CMake option. For example: -DARCH=znver4 or -DARCH=znver5.
AOCL-DA depends on BLAS and LAPACK for linear algebra computations. When building from source, we recommend following the relevant tuning guides for AOCL-BLAS and AOCL-LAPACK. For optimal performance, we also recommend building using the latest AOCC compiler.
AOCL-DA provides multithreaded support using OpenMP. The number of
threads should be set using the OMP_NUM_THREADS environment variable.
Note that the parallel performance will be highly dependent on both the
algorithm used and your data.