ATLAS

From HP-SEE Wiki

Revision as of 07:00, 19 April 2012 by Compchem (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.