ATLAS

From CBLFS
Revision as of 19:01, 13 September 2008 by Weibullguy (talk | contribs)
Jump to navigationJump to search
Download Source: http://downloads.sourceforge.net/math-atlas/atlas3.8.0.tar.bz2

Introduction to ATLAS

BLAS are Basic Linear Algebra Subprograms written in Fortran. There are Level 1 (scalar and vector operations), Level 2 (scalar-matrix operations) and Level 3 (matrix-matrix operations) subprograms. ATLAS (Automatically Tuned Linear Algebra Software) will provide C and FORTRAN interfaces to a BLAS 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.

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

Non-Multilib

Compile the package:

mkdir build &&
cd build &&
../configure --prefix=/usr \
--with-netlib-lapack=$PWD/../../lapack-3.1.1/lapack_LINUX.a \
-Fa alg -fPIC &&
sed -i "/RANLIB/s/echo/ranlib/" Make.inc &&
make &&
cd lib &&
make shared &&
make ptshared &&
cd ..

Install the package:

 make install &&
 cp -v lib/*so /usr/lib

Multilib

32Bit

Compile the package:

mkdir build &&
cd build &&
CC="gcc ${BUILD32}" ../configure --prefix=/usr \
--with-netlib-lapack=$PWD/../../lapack-3.1.1/lapack_LINUX.a \
-Fa alg -fPIC &&
sed -i "/RANLIB/s/echo/ranlib/" Make.inc &&
make &&
cd lib &&
make shared &&
make ptshared &&
cd ..

Install the package:

 make install &&
 cp -v lib/*so /usr/lib

N32

Compile the package:

mkdir build &&
cd build &&
CC="gcc ${BUILDN32}" ../configure \
--prefix=/usr --libdir=/usr/lib32 \
--with-netlib-lapack=$PWD/../../lapack-3.1.1/lapack_LINUX.a \
-Fa alg -fPIC &&
sed -i "/RANLIB/s/echo/ranlib/" Make.inc &&
make &&
cd lib &&
make shared &&
make ptshared &&
cd ..

Install the package:

 make install &&
 cp -v lib/*so /usr/lib32

64Bit

Compile the package:

mkdir build &&
cd build &&
CC="gcc ${BUILD64}" ../configure \
--prefix=/usr --libdir=/usr/lib64 \
--with-netlib-lapack=$PWD/../../lapack-3.1.1/lapack_LINUX.a \
-Fa alg -fPIC &&
sed -i "/RANLIB/s/echo/ranlib/" Make.inc &&
make &&
cd lib &&
make shared &&
make ptshared &&
cd ..

Install the package:

 make install &&
 cp -v lib/*so /usr/lib64

Configuration Information

Create and install pkgconfig metadata files:

cat > blas.pc.in << "EOF"
prefix=/usr
exec_prefix=${prefix}
libdir=/usr/<LIB>/blas/atlas
includedir=${prefix}/include

Name: blas
Description: Automatically Tuned Linear Algebra Software F77 BLAS implementation
Version: 3.8.0
URL: http://math-atlas.sourceforge.net/
Libs: -L${libdir} -lblas -latlas
Libs.private: -lm -lgfortran
EOF

cat > cblas.pc.in << "EOF"
prefix=/usr
exec_prefix=${prefix}
libdir=/usr/<LIB>/blas/atlas
includedir=${prefix}/include

Name: cblas
Description: Automatically Tuned Linear Algebra Software C BLAS implementation
Version: 3.8.0
URL: http://math-atlas.sourceforge.net/
Libs: -L${libdir} -lcblas -latlas
Libs.private: -lm -lgfortran
Cflags: -I${includedir}
EOF

Non-Multilib or 32-Bit

sed -i 's/<LIB>/lib/' blas.pc.in &&
sed -i 's/<LIB>/lib/' cblas.pc.in &&
cp -v blas.pc.in /usr/lib/pkgconfig/blas.pc &&
cp -v cblas.pc.in /usr/lib/pkgconfig/cblas.pc

N32

sed -i 's/<LIB>/lib32/' blas.pc.in &&
sed -i 's/<LIB>/lib32/' cblas.pc.in &&
cp -v blas.pc.in /usr/lib32/pkgconfig/blas.pc &&
cp -v cblas.pc.in /usr/lib32/pkgconfig/cblas.pc

64-Bit

sed -i 's/<LIB>/lib64/' blas.pc.in &&
sed -i 's/<LIB>/lib64/' cblas.pc.in &&
cp -v blas.pc.in /usr/lib64/pkgconfig/blas.pc &&
cp -v cblas.pc.in /usr/lib64/pkgconfig/cblas.pc

Contents

Installed Libraries: libatlas.{a,so}, libcblas.{a,so}, libblas{.a,so}

Short Description

libatlas is the main ATLAS library, providing low-level routines for all interface libraries.
libcblas is the C library with optimized BLAS functions.
libblas is the FORTRAN library with optimized BLAS functions.
Retrieved from "?title=ATLAS&oldid=15114"