PGI Guide to ATLAS

This guide is intended to help build the Automatically Tuned Linear Algebra Software (ATLAS) Version 3.9.32 for Linux using PGI 2011 compilers.

Version Information

This guide was created for ATLAS version 3.9.32 and the PGI 2011 Release. This information is for both x64 processors running 64-bit Linux or x86 processors running 32-bit Linux.

Application Notes

Information about ATLAS can be found at the ATLAS home page. From the ATLAS home page:

ATLAS (Automatically Tuned Linear Algebra Software) provides highly optimized Linear Algebra kernels for arbitrary cache-based architectures. ATLAS provides ANSI C and Fortran77 interfaces for the entire BLAS API, and a small portion of the LAPACK API.

Obtaining the Source Code

The source code for ATLAS can be found at the ATLAS Release Page. Note that you should download the platform independent version. The system specific versions have been precompiled.


None. However you can use netlib's LAPACK as a part of the build. These instructions include the use of netlib's LAPACK so that the resulting build will have support for the full LAPACK library

Configuration and Set-up Information

  1. Turning off power throttling:

    Before beginning to build ATLAS, you must turn off CPU throttling on your build system, or the resulting ATLAS build will not be able to make a meaningful tuning of the libraries to your architecture.

    On many machines, CPU throttling can be turned off in the Power Management section of your BIOS. For instance, on some AMD machines, saying "No" to "Cool and Quiet" does the trick.

    Some operating systems provide an API level call to turn off CPU throttling. Under Fedora and Ubuntu, try the command:

    /usr/bin/cpufreq-selector -g performance 

    On old versions of Fedora, this seems to only turn off CPU throttling on CPU 0. To turn off CPU throttling on the other CPU's try this for each of the other CPU cores:

    cp /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  \

    Under MacOS and Windows, CPU throttling may be able to be turned off under the system preferences or control panels energy saver or power setting.

  2. Unpack the source:

    tar -xvjf atlas3.9.32.tar.bz2
    mv ATLAS ATLAS3.9.32
    cd ATLAS3.9.32
    mkdir my_build_dir
    cd my_build_dir
  3. Download the netlib LAPACK sources from

  4. Configuring ATLAS

    Once unpacked, ATLAS must be configured before it can be built. We recommend you build ATLAS on each target system or a system comparable to each target.

    To configure ATLAS, run the configuration script from within your build directory (we'll build for a 64 bit multi-core AMD machine running Linux):

    ../configure -C ic pgcc -F ic "-O2" -C if pgf77 -F if "-O2" \

    This configuration tells the build system to use the PGI compilers to build the C and Fortran interfaces to the linear algebra routines.

    Building ATLAS

    To build ATLAS, simply run the following make command. Note that ATLAS can take quite a while to build and tune.

    make build

    Using ATLAS

    Please refer to the accompanying documentation for information on how to use ATLAS.

    Verifying Correctness

    ATLAS includes several blas and lapack tests which test the Fortran interface.

    Edit the file and change F77FLAGS to -Mnomain.

    Copy to ./interfaces/blas/[C|F77]/testing and remove -Mnomain

    make check

    Or for threaded versions, use:

    make ptcheck

    Known Issues and Limitations

    The scripts which check the results of the correctness testing may have an issue under some versions of Linux, however it appears that all tests pass successfully.

Click me