Introduction
Documentation
Developer Information
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.

Documentation

Developer Information

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