9.1.1. Building from Source on Linux - 5.2 English - 57404

AOCL User Guide (57404)

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

Prerequisites

The following prerequisites must be met:

  • GNU Make 4.2 or later

  • GCC 6.1.0 or later

  • AOCC 2.1 or later

  • MPI compiler 3.1 or later

  • Makeinfo 6.8 or later

  • For more information on supported operating systems, refer to Operating Systems.

Complete the following steps to build AOCL-FFTW for AMD EPYCTM processor based on the architecture generation:

  1. Download the latest stable release of AOCL-FFTW (amd/amd-fftw).

  2. Depending on the target system and build environment, you must enable/disable the appropriate configure options. Set PATH and LD_LIBRARY_PATH to the MPI installation. In the case of building for AMD Optimized FFTW library with AOCC compiler, you must compile and setup OpenMPI with AOCC compiler.

    Complete the following steps to compile it for EPYCTM processors and other AMD “Zen”-based processors:

    Note

    For a complete list of options and their description, type ./configure --help.

    • With GCC (default)

      **Double Precision FFTW libraries**
      
      $ ./configure --enable-sse2 --enable-avx --enable-avx2
      --enable-avx512 --enable-mpi --enable-openmp --enable-shared
      --enable-amd-opt --enable-amd-mpifft --enable-dynamic-dispatcher
      --prefix=<your-install-dir>
      
      **Single Precision FFTW libraries**
      
      $ ./configure --enable-sse2 --enable-avx --enable-avx2
      --enable-avx512 --enable-mpi --enable-openmp --enable-shared
      --enable-single --enable-amd-opt --enable-amd-mpifft
      --enable-dynamic-dispatcher --prefix=<your-install-dir>
      
      **Long double FFTW libraries**
      
      $ ./configure --enable-shared --enable-openmp --enable-mpi
      --enable-long-double --enable-amd-opt --enable-amd-mpifft
      --enable-dynamic-dispatcher --prefix=<your-install- dir>
      
      **Quad Precision FFTW libraries**
      
      $ ./configure --enable-shared --enable-openmp --enable-quad-precision
      --enable-amd-opt --enable-dynamic-dispatcher --prefix=<your-install-dir>
      
    • With AOCC

      **Double Precision FFTW libraries**
      
      $ ./configure --enable-sse2 --enable-avx --enable-avx2
      --enable-avx512 --enable-mpi --enable-openmp --enable-shared
      --enable-amd-opt --enable-amd-mpifft --enable-dynamic-dispatcher
      --prefix=<your-install-dir> CC=clang F77=flang FC=flang
      
      **Single Precision FFTW libraries**
      
      $ ./configure --enable-sse2 --enable-avx --enable-avx2
      --enable-avx512 --enable-mpi --enable-openmp --enable-shared
      --enable-single --enable-amd-opt --enable-amd-mpifft
      --enable-dynamic-dispatcher --prefix=<your-install-dir>
      CC=clang F77=flang FC=flang
      
      **Long double FFTW libraries**
      
      $ ./configure --enable-shared --enable-openmp --enable-mpi
      --enable-long-double --enable-amd-opt --enable-amd-mpifft
      --enable-dynamic-dispatcher --prefix=<your-install- dir>
      CC=clang F77=flang FC=flang
      
      **Quad FFTW libraries**
      
      $ ./configure --enable-shared --enable-openmp --enable-quad-precision
      --enable-amd-opt --enable-dynamic-dispatcher --prefix=<your-install-dir>
      CC=clang F77=flang FC=flang
      

    AMD optimized fast planner is added as an extension to the original planner to improve the planning time of various planning modes in general and PATIENT mode in particular.

    The configure user option --enable-amd-fast-planner when given in addition to -enable-amd-opt enables this new fast planner.

    An optional configure option AMD_ARCH is supported, that can be set to the CPU architecture values, such as auto, znver1, znver2, znver3, znver4 or znver5 for AMD EPYCTM and other AMD “Zen”- based processors.

    Additional config and build options to enable specific optimizations are covered in the Performance Tuning section.

    A dynamic dispatcher feature has been added to build a single portable optimized library for execution on a wide range of x86 CPU architectures. Use the–enable-dynamic-dispatcher configure option to enable this feature on Linux-based systems. The configure option –enable- amd-opt is the mandatory master optimization switch that must be set for enabling other optional configure options, such as:

    • –enable-amd-mpifft

    • –enable-amd-mpi-vader-limit

    • –enable-amd-trans

    • –enable-amd-fast-planner

    • –enable-amd-top-n-planner

    • –enable-amd-app-opt

    • –enable-dynamic-dispatcher

  3. Build the library:

    $ make
    
  4. Install the library in the preferred path:

    $ make install
    
  5. Verify the installed library:

    $ make check