Blas Libraries

From wiki
Revision as of 14:05, 6 September 2016 by Rf (talk | contribs)
Jump to: navigation, search

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" .