Blas Libraries
Introduction
The key to speeding up and optimising a cluster often comes down to its BLAS libraries, so here is a review of what's been doen on the marvin cluster
ATLAS
yum install
This has been done on marvin and all the nodes. It is available in two varieties: normal atlas and then atlas-sse3.
hand compilation
OpenBLAS
Manual compilation is quite straightforward. Here is output for a lazy compilation where the CPU was not specified:
cblas_zhpr2 PASSED THE COMPUTATIONAL TESTS ( 577 CALLS)
END OF TESTS
make[1]: Leaving directory `/shelf/scratch/ramon/swmake/OpenBLAS-0.2.19/ctest'
make[1]: Entering directory `/shelf/scratch/ramon/swmake/OpenBLAS-0.2.19/exports'
perl ./gensymbol linktest x86_64 _ 0 0 0 0 0 0 "" "" 1 > linktest.c
gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=32 -DASMNAME= -DASMFNAME=_ -DNAME=_ - DCNAME= -DCHAR_NAME=\"_\" -DCHAR_CNAME=\"\" -DNO_AFFINITY -I.. -shared -o ../libopenblas_piledriverp-r0.2.19.so \
-Wl,--whole-archive ../libopenblas_piledriverp-r0.2.19.a -Wl,--no-whole-archive \
-Wl,-soname,libopenblas.so.0 -lm -lpthread -lgfortran -lm -lpthread -lgfortran
gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=32 -DASMNAME= -DASMFNAME=_ -DNAME=_ - DCNAME= -DCHAR_NAME=\"_\" -DCHAR_CNAME=\"\" -DNO_AFFINITY -I.. -w -o linktest linktest.c ../libopenblas_piledriverp-r0.2.19.so - L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../.. -lgfortran -lm -lgfortran -lm -lc && echo OK.
OK.
rm -f linktest
make[1]: Leaving directory `/shelf/scratch/ramon/swmake/OpenBLAS-0.2.19/exports'
OpenBLAS build complete. (BLAS CBLAS LAPACK LAPACKE)
OS ... Linux
Architecture ... x86_64
BINARY ... 64bit
C compiler ... GCC (command line : gcc)
Fortran compiler ... GFORTRAN (command line : gfortran)
Library Name ... libopenblas_piledriverp-r0.2.19.a (Multi threaded; Max num-threads is 32)
To install the library, you can run "make PREFIX=/path/to/your/installation install" .