ATLAS Libary at the ITP Opteron Cluster

Description
Setting up the environment
Usage
Documentation

Description

ATLAS (Automatically Tuned Linear Algebra Software) is an efficient implementation of the full BLAS (Basic Linear Algebra Subprograms) und a few LAPACK (Linear Algebra PACKage) routines. ATLAS provides an ANSI C and Fortran 77 interface to these routines.

ATLAS natively provides only a relative handful of the routines which comprise LAPACK. However, ATLAS is designed so that its routines can easily be added to Netlib's standard LAPACK in order to get a full LAPACK library. The steps to get a full FORTRAN77 API LAPACK which uses ATLAS's improved routines when possible, and the standard netlib routines when not, are implemented in the present installation of ATLAS Library at the ITP Cluster.

Setting up the environment

Put the following line below at the command line or for the global definitions in your ".bashrc" file:

module load atlas/3.8.2

Usage

Installed version: atlas 3.8.2 AMD64K10h64SSE3
ATLAS is available as (static libraries): liblapack.a This is the unoptimized LAPACK library /opt/lapack/3.2/lib/libflapack.a with the LAPACK routines provided by ATLAS
libcblas.a The ANSI C interface to the BLAS
libf77blas.a The Fortran77 interface to the BLAS
libptcblas.a The ANSI C interface to the threaded (SMP) BLAS
libptf77blas.a The Fortran77 interface to the threaded (SMP) BLAS
libatlas.a The main ATLAS library, providing low-level routines for all interface libs
ATLAS is available as (dynamic/shared libraries): liblapack.so This is the unoptimized LAPACK library /opt/lapack/3.2/lib/libflapack.a with the LAPACK routines provided by ATLAS
libcblas.so The ANSI C interface to the BLAS
libf77blas.so The Fortran77 interface to the BLAS
libptcblas.so The ANSI C interface to the threaded (SMP) BLAS
libptf77blas.so The Fortran77 interface to the threaded (SMP) BLAS
libatlas.so The main ATLAS library, providing low-level routines for all interface libs
You can find the libraries in directory: /opt/atlas/3.8.2/lib

If you have missing symbols on link, make sure you are linking in all of the libraries you need, and remember that order is significant. For instance, a code calling the Fortran77 interface to the BLAS would need:

-L/opt/atlas/3.8.2/lib -lf77blas -latlas

The full LAPACK library created by merging ATLAS and netlib LAPACK requires both C and Fortran77 interfaces, and thus that link line would be:

-L/opt/atlas/3.8.2/lib -llapack -lf77blas -lcblas -latlas

If you wish to use threaded BLAS, you simply indicate those interface libs rather than the sequential. The above line for SMP would be:

-L/opt/atlas/3.8.2/lib -llapack -lptf77blas -lptcblas -latlas

Documentation