Fork me on GitHub

Warning

Iceberg reaches end-of-life on 30th November 2020. If you are running jobs on Iceberg then you need to take urgent action to ensure that your jobs/scripts will run on ShARC or Bessemer. If you have never used ShARC or Bessemer then now is the time to test your scripts. Not all software on Iceberg is available on ShARC/Bessemer.

GNU Scientific Libary (GSL)

The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License.

The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.

Usage

You can make the GSL available by running:

$ module load libs/gcc/4.9.2/gsl/2.3

This makes the GSL’s library files, header files, utility programs and documentation all accessible.

YOu can check that you are running the requested version:

$ gsl-config --version
2.3

When building software that uses the GSL you will need to link to it. From the GSL documentation:

To link against the library you need to specify both the main library and a supporting CBLAS library, which provides standard basic linear algebra subroutines. A suitable CBLAS implementation is provided in the library libgslcblas.a if your system does not provide one. The following example shows how to link an application with the library:

$ $CC example.o -lgsl -lgslcblas -lm

Another CBLAS implementation that you may want to use with the GSL is the Intel Math Kernel Library (MKL).

Documentation

For documentation either run:

$ module load libs/gcc/4.9.2/gsl/2.3
$ info gsl

or visit the project website.

Installation notes

This section is primarily for administrators of the system.

The GSL was installed as a user wanted to build EIGENSOFT.

Version 2.3

This was compiled using GCC on an Intel x5650 node.

  1. cd to a scratch directory.

  2. Run this install script (install.sh)

  3. Install this module file as /usr/local/modulefiles/libs/gcc/4.9.2/gsl/2.3