Blas Libraries
Contents
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 done 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, although very verbose so that the 10k lines of GNU screen's history is quickly eaten up.
make make install PREFIX=/custom/install/path
It is possible to search out th eprecise CPU setting to use and then specify it, but lacking time, no such setting was given and here is the end of the compilation output.
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" .
Note how tests were already run.