Introduction
Users
Documentation
Developers
Availability
Download


Performance Plots









ATLAS

Introduction

ATLAS (Automatically Tuned Linear Algebra Software) is a tool for the automatic generation of optimized numerical software for modern computer architectures and compilers. This tool has initially focused on level three BLAS operations (matrix-matrix multiplications) and also a few routines from LAPACK that have high potential for optimization. Traditionally, the optimization of these routines has been a tedious, architecture dependent, hand coding process. Codes automatically generated by ATLAS have been able to meet and even exceed the performance of the vendor supplied, hand-optimized BLAS, on a range of platforms.

ATLAS achieves performance through loop unrolling, explicit removal of unnecessary dependencies in code blocks, and use of machine-friendly C constructs. Code generators are parameterized and scripts are used to find the optimal choice of parameters for a given architecture and compiler. Research continues to extend this tool to new BLAS 3 operations and other basic linear algebra calculations, including sparse operations.

Other projects providing for automatic tuning are:

  • FFTW, for the Discrete Fourier Transform
  • UHFFT, for the Fast Fourier Transform
  • SPIRAL, for signal processing
  • Sparsity, for sparse matrix-vector multiplication
  • PHiPAC, for fast matrix-matrix operations
and also BeBOP.

Users

ATLAS is of primary interest to computer architects and administrators and is not a tool that the application programmer would use. However, the technology used in ATLAS may well spill over into tools for application programmers. The images in the left panel show comparisons of the performance of codes generated by ATLAS (and PHiPAC) against other implementations. Click on the small icons to display the full image (a new window will open).

Documentation

Developers

ATLAS was developed at the UTK Computer Science Department; its principal developers were Jack Dongarra and Clint Whaley. PHiPAC was developed at the UC Berkeley Computer Science Division and the International Computer Science Institute (ICSI); its principal developers were Jeff Bilmes, Krste Asanovic, Rich Vuduc, Sriram Iyer, Jim Demmel, CheeWhye Chin and Dominic Lam.




Tools News Home