UK National HPC Service

Computer Services for Academic Research Logo
Home | Helpdesk | Machine Status | Search | Apply
 

Netlib Libraries

Overview

The Netlib repository contains freely available software, documents, and databases of interest to the numerical, scientific computing, and other communities. The repository is maintained by AT&T Bell Laboratories, the University of Tennessee and Oak Ridge National Laboratory, and by colleagues world-wide. The Netlib libraries that we have installed are the standard numerical linear algebra ones for serial and parallel vector and matrix operations. Namely:

  • BLAS
  • LAPACK
  • PBLAS
  • ScaLAPACK
  • BLACS

The BLACS library is the MPI version.

The libraries are built from the reference source code at Netlib. We recommend the use of the SCSL library which incorporates all the libraries above and has been optimised for our machines architecture. This version of the libraries may be useful for reference.

Restrictions on Use

These software packages are freely available from Netlib via anonymous ftp and the World Wide Web. It is copyrighted but is not trademarked. Netlib ask that if any routines are included in commercial software packages that proper credit be given to the authors. If you modify the source for these routines they ask that you change the name of the routine and comment the changes made to the original.

Set Up Procedure

You will need to load the netlib module. You then need to link to the specific libraries listed below:

  • blas for the BLAS library
  • lapack for LAPACK
  • scalapack for the PBLAS and ScaLAPACK libraries which requires:
  • blacs and lblacsFinit for Fortran codes or lblacsCinit for C codes to access the BLACS library, see example below:

Running the Code

To link your code with the Netlib routines use the -l option to the compiler followed by the library name.

When using ScaLAPACK the procedure is complicated. For example to use ScaLAPACK and the BLAS you will need a command like:

f90 myprog.f90 -lscalapack -lblacsF77init -lblacs -lblacsF77init -lblas -lmpi

The order the libraries are linked to is important, and note there are two instances of -lblacsF77init either side of -lblacs. If you are also using LAPACK then the link would come either before or after the one to the BLAS.

Further Information

Further information is available:

Page maintained by This page last updated: Friday, 11-Mar-2005 10:11:26 GMT