BLAS

Software Category
Version
3.2.1

BLAS

From the BLAS homepage ( http://www.netlib.org/blas/ ) :

The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. The Level 1 BLAS perform scalar, vector and vector-vector operations, the Level 2 BLAS perform matrix-vector operations, and the Level 3 BLAS perform matrix-matrix operations. Because the BLAS are efficient, portable, and widely available, they are commonly used in the development of high quality linear algebra software, LAPACK for example.

Use BLAS on HPC cluster

BLAS library can be linked to fortran code. Using an example from BLAS docmuntation we can compile and link a BLAS library located in

/usr/lib64

To run a Simple example (found at http://www.netlib.org/blas/sblat1 ), download the blas test file from the documentation and compile with the following command (we have found that the compilation sometimes produces warnings but it will not effect the final output):

[fsuID_at_hpc-login-39 ~]$ module load gnu
[fsuID_at_hpc-login-39 ~]$ gfortran sblat1.f -lopenblas

Which compiles and links the entire BLAS library which will give the following output upon execution:

[fsuID_at_hpc-login-39 ~]$ ./a.out   
Real BLAS Test Program Results

Test of subprogram number  1             SDOT 
 ----- PASS -----

Test of subprogram number  2            SAXPY 
 ----- PASS -----

Test of subprogram number  3            SROTG 
----- PASS -----

Test of subprogram number  4             SROT 
----- PASS -----

Test of subprogram number  5            SCOPY 
----- PASS -----

Test of subprogram number  6            SSWAP 
----- PASS -----

Test of subprogram number  7            SNRM2 
----- PASS -----

Test of subprogram number  8            SASUM 
----- PASS -----

Test of subprogram number  9            SSCAL 
----- PASS -----

Test of subprogram number 10            ISAMAX
----- PASS -----