Automatically Tuned Linear Algebra (ATLAS) Installation
Automatically Tuned Linear Algebra provides C and Fortran77 interfaces to a BLAS implementation, as well as a few routines from LAPACK.
Download from Sourceforge, extract the tarball (e.g., tar xvjf atlas3.9.69.tar.bz2
) and change into the resulting directory (e.g., cd atlas-3.9.69). Different compilers require different configurations - and particularly Fortran flags - as follows:
module load gcc
cd BUILD_GCC
../configure -b 64 --prefix=/usr/local/atlas/3.9.1-gcc -Fa alg -fPIC
mkdir BUILD_PGI
../configure -b 64 --prefix=/usr/local/atlas/3.9.1-pgi -Fa alg -fPIC -C if pgf95 -F if '-fast -fPIC' -C ic pgcc -F ic '-fast -fPIC'
mkdri BUILD_INTEL
cd BUILD_INTEL ../configure -b 64 --prefix=/usr/local/atlas/3.9.69-intel --cc=/usr/local/intel/2012.0/composerxe/bin/icc -Fa alg -fPIC -C if ifort -F if '-fast -fPIC' -C ic icc -F ic '-fast -fPIC'
Note how happy it makes us to use Intel "composer".
After this run a seris of makes...
make
! tune and compile library
make check
! perform sanity tests
make ptcheck
! checks of threaded code for multiprocessor systems
make time
! provide performance summary as % of clock rate
make install
! Copy library and include files to other directories
Change to the modules directory (e.g., cd /usr/local/Modules/modulefiles/atlas
and make the symbolic links to the basefile.
ln -s .base 3.9.69-gcc
ln -s .base 3.9.69-pgi
ln -s .base 3.9.69-intel
The .base file has the following
#%Module1.0#####################################################################
##
## $name modulefile
##
set ver [lrange [split [ module-info name ] / ] 1 1 ]
set name [lrange [split [ module-info name ] / ] 0 0 ]
set loading [module-info mode load]
set compiler [lrange [split $ver - ] 1 1 ]
set desc [join [read [ open "/usr/local/Modules/modulefiles/$name/.desc" ] ] ]
proc ModulesHelp { } {
puts stderr "\tThis module sets the envinronment for $name v$ver"
}
module-whatis "$desc (v$ver)"
if { $loading && ![ is-loaded $compiler ] } {
module load $compiler
}
prepend-path --delim " " CPPFLAGS -I/usr/local/$name/$ver/include
prepend-path --delim " " LDFLAGS -L/usr/local/$name/$ver/lib
prepend-path LD_LIBRARY_PATH /usr/local/$name/$ver/lib
setenv ATLAS_DIR /usr/local/$name/$ver
Don't forget to change the .version
file for the default if necessary.