Difference between revisions of "ATLAS"

From CBLFS
Jump to navigationJump to search
(Formatted to conform with template.)
Line 7: Line 7:
 
| http://www.netlib.org/blas/blas.tgz (F77 source files only, see below)
 
| http://www.netlib.org/blas/blas.tgz (F77 source files only, see below)
 
|}
 
|}
= Introduction to BLAS =
+
 
 +
== Introduction to BLAS ==
  
 
BLAS are '''B'''asic '''L'''inear '''A'''lgebra '''S'''ubprograms written in Fortran77.  There are Level 1 (scalar and vector operations), Level 2 (scalar-matrix operations) and Level 3 (matrix-matrix operations) subprograms.  They are available at [http://www.netlib.org/blas/ as tarballs] of F77 source files and are un-optimized for any particular architecture.  Use the second download source if you want or need these source files.
 
BLAS are '''B'''asic '''L'''inear '''A'''lgebra '''S'''ubprograms written in Fortran77.  There are Level 1 (scalar and vector operations), Level 2 (scalar-matrix operations) and Level 3 (matrix-matrix operations) subprograms.  They are available at [http://www.netlib.org/blas/ as tarballs] of F77 source files and are un-optimized for any particular architecture.  Use the second download source if you want or need these source files.
Line 17: Line 18:
 
<b>Homepage:</b> http://www.netlib.org/blas/
 
<b>Homepage:</b> http://www.netlib.org/blas/
  
= Dependencies =
+
== Dependencies ==
  
== Optional ==
+
=== Optional ===
  
 
* [[GCC-3.3]] Benchmarking by the ATLAS maintainers indicates that, with the exception of Core Duo and Pentium M, compiling ATLAS with gcc-3.X [http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27827 produces better x87 code than gcc-4.X].  SSE is preferred over x87, but when x87 is optimized it outperforms SSE in single precision scalar mode.
 
* [[GCC-3.3]] Benchmarking by the ATLAS maintainers indicates that, with the exception of Core Duo and Pentium M, compiling ATLAS with gcc-3.X [http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27827 produces better x87 code than gcc-4.X].  SSE is preferred over x87, but when x87 is optimized it outperforms SSE in single precision scalar mode.
  
= Non-Multilib or Multilib =
+
== Configuration ==
 +
 
 +
If you are building BLAS libraries for more than one TARGET architecture, either place each set of libraries in a subdirectory of /usr/lib or give each set a unique name so as not to overwrite earlier versions.
 +
 
 +
== Non-Multilib ==
  
 
Compile the package:
 
Compile the package:
Line 38: Line 43:
 
Where <TARGET> will be displayed at the completion of the 'make' step.
 
Where <TARGET> will be displayed at the completion of the 'make' step.
  
If you are building BLAS libraries for more than one TARGET architecture, either place each set of libraries in a subdirectory of /usr/lib or give each set a unique name so as not to overwrite earlier versions.
+
Install the API and other documentation.
 +
 
 +
  install -v -m755 -d /usr/share/doc/ATLAS-{{BLAS-Version}} &&
 +
  for doc in doc/<TARGET>/*.{ps,txt}; do
 +
    cp -v $doc /usr/share/doc/ATLAS-{{BLAS-Version}}
 +
  done
 +
 
 +
The ATLAS compilation and tuning produces several log files in bin/<TARGET>/INSTALL_LOGS.  These may be of interest or helpful if the BLAS libraries are found not to be optimal and you seek help from the ATLAS maintainers.  Install them as follows:
 +
 
 +
  install -v -m755 -d /usr/share/doc/ATLAS-{{BLAS-Version}}/INSTALL_LOGS &&
 +
  for log in bin/<TARGET>/INSTALL_LOGS/*; do
 +
    cp -v $log /usr/share/doc/ATLAS-{{BLAS-Version}}/INSTALL_LOGS
 +
  done
 +
 
 +
== Multilib ==
 +
 
 +
=== 32Bit ===
 +
 
 +
Compile the package:
 +
 
 +
  make
 +
 
 +
The configuration is interactive.  Simply follow the instructions presented on the screen.  If you've installed the FORTRAN provided by gcc-4.0.3 and later use <b>gfortran</b> when the configuration complains that the F77 version it finds is unsuitable.
 +
 
 +
Install the package:
 +
 
 +
  make install arch=<TARGET> &&
 +
  cp -v lib/<TARGET>/*.a /usr/lib
 +
 
 +
Where <TARGET> will be displayed at the completion of the 'make' step.
 +
 
 +
=== N32 ===
 +
 
 +
Compile the package:
 +
 
 +
  make
 +
 
 +
The configuration is interactive.  Simply follow the instructions presented on the screen.  If you've installed the FORTRAN provided by gcc-4.0.3 and later use <b>gfortran</b> when the configuration complains that the F77 version it finds is unsuitable.
 +
 
 +
Install the package:
 +
 
 +
  make install arch=<TARGET> &&
 +
  cp -v lib/<TARGET>/*.a /usr/lib32
 +
 
 +
Where <TARGET> will be displayed at the completion of the 'make' step.
 +
 
 +
=== 64Bit ===
 +
 
 +
Compile the package:
 +
 
 +
  make
 +
 
 +
The configuration is interactive.  Simply follow the instructions presented on the screen.  If you've installed the FORTRAN provided by gcc-4.0.3 and later use <b>gfortran</b> when the configuration complains that the F77 version it finds is unsuitable.
 +
 
 +
Install the package:
 +
 
 +
  make install arch=<TARGET> &&
 +
  cp -v lib/<TARGET>/*.a /usr/lib64
 +
 
 +
Where <TARGET> will be displayed at the completion of the 'make' step.
  
 
Install the API and other documentation.
 
Install the API and other documentation.
Line 54: Line 118:
 
   done
 
   done
  
= Contents =
+
== Contents ==
  
 
{|style="text-align: left"
 
{|style="text-align: left"
Line 62: Line 126:
 
|}
 
|}
  
== Short Description ==
+
=== Short Description ===
  
 
{|style="text-align: left"
 
{|style="text-align: left"

Revision as of 15:14, 15 January 2007

Download Source: http://www.netlib.org/atlas/atlasTemplate:BLAS-Version.tgz
Download Source: http://www.netlib.org/blas/blas.tgz (F77 source files only, see below)

Introduction to BLAS

BLAS are Basic Linear Algebra Subprograms written in Fortran77. There are Level 1 (scalar and vector operations), Level 2 (scalar-matrix operations) and Level 3 (matrix-matrix operations) subprograms. They are available at as tarballs of F77 source files and are un-optimized for any particular architecture. Use the second download source if you want or need these source files.

LAPACK is a Linear Algebra PACKage that provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. LAPACK routines are written so that as much as possible of the computation is performed by calls to the BLAS. The LAPACK libraries produced by ATLAS are not optimal. Use the LAPACK package for optimal LAPACK libraries.

ATLAS (Automatically Tuned Linear Algebra Software) will provide C and FORTRAN interfaces to a BLAS and LAPACK implementation optimized for a specific machine architecture. The ideal source of BLAS and LAPACK libraries are those provided by the microprocesor vendor such as AMD's ACML. However, these are not provided under a license that allows re-distribution without written consent from the vendor.

Homepage: http://www.netlib.org/blas/

Dependencies

Optional

  • GCC-3.3 Benchmarking by the ATLAS maintainers indicates that, with the exception of Core Duo and Pentium M, compiling ATLAS with gcc-3.X produces better x87 code than gcc-4.X. SSE is preferred over x87, but when x87 is optimized it outperforms SSE in single precision scalar mode.

Configuration

If you are building BLAS libraries for more than one TARGET architecture, either place each set of libraries in a subdirectory of /usr/lib or give each set a unique name so as not to overwrite earlier versions.

Non-Multilib

Compile the package:

 make

The configuration is interactive. Simply follow the instructions presented on the screen. If you've installed the FORTRAN provided by gcc-4.0.3 and later use gfortran when the configuration complains that the F77 version it finds is unsuitable.

Install the package:

 make install arch=<TARGET> &&
 cp -v lib/<TARGET>/*.a /usr/lib

Where <TARGET> will be displayed at the completion of the 'make' step.

Install the API and other documentation.

 install -v -m755 -d /usr/share/doc/ATLAS-Template:BLAS-Version &&
 for doc in doc/<TARGET>/*.{ps,txt}; do
   cp -v $doc /usr/share/doc/ATLAS-Template:BLAS-Version
 done

The ATLAS compilation and tuning produces several log files in bin/<TARGET>/INSTALL_LOGS. These may be of interest or helpful if the BLAS libraries are found not to be optimal and you seek help from the ATLAS maintainers. Install them as follows:

 install -v -m755 -d /usr/share/doc/ATLAS-Template:BLAS-Version/INSTALL_LOGS &&
 for log in bin/<TARGET>/INSTALL_LOGS/*; do
   cp -v $log /usr/share/doc/ATLAS-Template:BLAS-Version/INSTALL_LOGS
 done

Multilib

32Bit

Compile the package:

 make

The configuration is interactive. Simply follow the instructions presented on the screen. If you've installed the FORTRAN provided by gcc-4.0.3 and later use gfortran when the configuration complains that the F77 version it finds is unsuitable.

Install the package:

 make install arch=<TARGET> &&
 cp -v lib/<TARGET>/*.a /usr/lib

Where <TARGET> will be displayed at the completion of the 'make' step.

N32

Compile the package:

 make

The configuration is interactive. Simply follow the instructions presented on the screen. If you've installed the FORTRAN provided by gcc-4.0.3 and later use gfortran when the configuration complains that the F77 version it finds is unsuitable.

Install the package:

 make install arch=<TARGET> &&
 cp -v lib/<TARGET>/*.a /usr/lib32

Where <TARGET> will be displayed at the completion of the 'make' step.

64Bit

Compile the package:

 make

The configuration is interactive. Simply follow the instructions presented on the screen. If you've installed the FORTRAN provided by gcc-4.0.3 and later use gfortran when the configuration complains that the F77 version it finds is unsuitable.

Install the package:

 make install arch=<TARGET> &&
 cp -v lib/<TARGET>/*.a /usr/lib64

Where <TARGET> will be displayed at the completion of the 'make' step.

Install the API and other documentation.

 install -v -m755 -d /usr/share/doc/ATLAS-Template:BLAS-Version &&
 for doc in doc/<TARGET>/*.{ps,txt}; do
   cp -v $doc /usr/share/doc/ATLAS-Template:BLAS-Version
 done

The ATLAS compilation and tuning produces several log files in bin/<TARGET>/INSTALL_LOGS. These may be of interest or helpful if the BLAS libraries are found not to be optimal and you seek help from the ATLAS maintainers. Install them as follows:

 install -v -m755 -d /usr/share/doc/ATLAS-Template:BLAS-Version/INSTALL_LOGS &&
 for log in bin/<TARGET>/INSTALL_LOGS/*; do
   cp -v $log /usr/share/doc/ATLAS-Template:BLAS-Version/INSTALL_LOGS
 done

Contents

Installed Libraries: libatlas.a, libcblas.a, libf77blas.a, liblapack.a

Short Description

libatlas.a: The main ATLAS library, providing low-level routines for all interface libraries.
libcblas.a: The C library with optimized BLAS functions.
libf77blas.a: The FORTRAN library with optimized BLAS functions.
liblapack.a: The LAPACK routines provided by ATLAS.