4.1.2. Hardware Configuration - 5.2 English - 57404

AOCL User Guide (57404)

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

AOCL-BLAS supports a wide range of different architectures, with optimizations focused on AMD “Zen” and compatible processors. AOCL-BLAS can be compiled for specific hardware by specifying the appropriate configuration option:

  • auto - This configuration generates a binary optimized for the build machine’s AMD “Zen” core architecture. This is useful when you build the library on the target system. Starting from the AOCL-BLAS 2.1 release, the auto configuration option enables selecting the appropriate build configuration based on the target CPU architecture. For example, for a build machine using the 1st Gen AMD EPYCTM (code name “Naples”) processor, the zen configuration will be auto-selected. For a build machine using the 2nd Gen AMD EPYCTM processor (code name “Rome”), the zen2 configuration will be auto-selected. From AOCL-BLAS 3.0 forward, zen3 will be auto-selected for the 3rd Gen AMD EPYCTM processor (code name “Milan”). From AOCL-BLAS 4.0 forward, zen4 will be auto-selected for the 4th Gen AMD EPYCTM processors (code name “Genoa”, “Bergamo” or “Siena”). From AOCL-BLAS 5.0 forward, zen5 will be auto-selected for the 5th Gen AMD EPYCTM processors (code name “Turin”).

  • zen - This configuration generates a binary compatible with AMD “Zen” architecture and is optimized for it. The architecture of the build machine is not relevant.

  • zen2 - This configuration generates binary compatible with AMD “Zen2” architecture and is optimized for it. The architecture of the build machine is not relevant.

  • zen3 - This configuration generates binary compatible with AMD “Zen3” architecture and is optimized for it. The architecture of the build machine is not relevant.

  • zen4 - This configuration generates binary compatible with AMD “Zen4” architecture and is optimized for it. The architecture of the build machine is not relevant.

  • zen5 - This configuration generates binary compatible with AMD “Zen5” architecture and is optimized for it. The architecture of the build machine is not relevant.

  • amdzen - The library built using this configuration generates a binary compatible with and optimized for AMD “Zen”, AMD “Zen2”, AMD “Zen3”, AMD “Zen4” and AMD “Zen5” architectures. A slower generic code path, compatible with older x86-64 processors is also included. The architecture of the build machine is not relevant. The architecture of the target machine is checked during the runtime, based on which the relevant optimizations are picked up automatically. This feature is also called Dynamic Dispatch. For more information, refer to the Dynamic Dispatch section below.

Table 4.1 AOCL-BLAS Specifying Hardware Configuration#

Example desired config

CMake options
————————————
configure options

Usage

amdzen

-DBLIS_CONFIG_FAMILY=amdzen
————————————
./configure … amdzen
Linux : No default is set
Windows: “auto” is default choice

When using configure, the desired config should be the last argument.