ATLAS
From HP-SEE Wiki
Contents |
- Web site: http://math-atlas.sourceforge.net
- Described version: xx.xx
- Licensing: BSD-style free software license without the advertising clause
- User documentation: link
- Download: link
- Source code: link
Authors/Maintainers
- Also origin, if the software comes from a specific project.
Summary
The ATLAS (Automatically Tuned Linear Algebra Software) project is an ongoing research effort focusing on applying empirical techniques in order to provide portable performance. At present, it provides C and Fortran77 interfaces to a portably efficient BLAS implementation, as well as a few routines from LAPACK. ATLAS is an instantiation of a paradigm in high performance library production and maintenance, called AEOS (Automated Empirical Optimization of Software). ATLAS produces a full BLAS (Basic Linear Algebra Subprograms) library as well as provides some optimized routines for LAPACK (Linear Algebra PACKage). Since LAPACK is an extremely comprehensive Fortran 77 package for solving the most commonly occurring problems in numerical linear algebra, the aim of ATLAS is not to provide a complete re- implementation of the same routines, but to provide a handful of highly optimized native routines. ATLAS uses advanced code optimization techniques and performs series of tests and benchmarks during compilation in order to decide on which variant of the same code is optimal for a given hardware architecture. For example, different orders and levels of loop unrolling are tested. For all supported operations, ATLAS achieves performance on par with machine-specific tuned libraries. The ATLAS software can be tuned for each particular hardware architecture, or one could use a pre-packaged (rpm, deb) version. The installation process can take several hours, but the gain in performance may justify that. In our use cases the ATLAS is a pre- requisite for installation of other software packages
Features
- Listed features
Architectural/Functional Overview
- high level design info, how it works, performance - may be a link, or several links
Usage Overview
- If possible with small example - may be a link
Dependacies
- list of all relevant dependencies on other libraries
HP-SEE Applications
- Applications using it
Resource Centers
- BG, BG
- HPCG, BG
- NCIT-Cluster, RO
Usage by Other Projects and Communities
- If any
Recommendations for Configuration and Usage
Location of the libs
This differs. On a PC they are located at /usr/lib64/atlas The user should find the corresponding location on her machine. We will refer to this directory as ATLAS-HOME.
Using an ATLAS with fortran compiler
In case one wish to include an ATLAS BLAS routine in her main program the general approach is
f90 myprog.f -L$ATLAS-HOME/lib -lblas -o myprog
Replace ATLAS-HOME with corresponding location of atlas libraries on your machine.
As there may be more than one blas/lapack packages installed on the system (for example, lapack from the Netlib or from Intel-MKL) besides the ones from ATLAS, the user may check the library locations first and link correspondingly if wishes to use them.