LibSci

Category: Libraries-Math

Description

Cray XT-LibSci is a collection of single-processor and parallel numerical routines tuned for performance on Cray XT series systems. Cray XT-LibSci is included in the Cray XT programming environment. Generally speaking, it is suggested that users of the Cray XT systems call LibSci routines in your application instead of public domain or user-written versions.

LibSci is provided with the Cray Programming Environment and is automatically loaded with the PrgEnv module. LibSci provides Fortran interfaces for all routines and support for 32- and 64-bit data types.

LibSci contains single-processor support for:

LibSci contains multiprocessor support in a distributed memory environment for:

Cray XT-LibSci also contains the Iterative Refinement Toolkit (IRT), which is a library of solvers and tools that provides solutions to linear systems using single-precision factorizations while preserving accuracy through mixed-precision iterative refinement.

There are man pages for intro_blas1, intro_blas2, intro_blas3, intro_lapack, intro_irt, intro_blacs, intro_scalapack, intro_fft, and intro_crafft. (Note some man pages only exist for some libsci versions.) And there is the "Cray XT Series Programming Environment User's Guide" at the Cray Docs website.

Use

libsci is automatically linked against by the Cray compiler wrappers: cc, CC, and ftn.

Revision Information

Libsci 10.3.0

This version contains
      CRAFFT    1.0
      LibGoto   1.26
      ScaLAPACK 1.8
      Bug Fixes

CRAFFT (Cray Adaptive FFT) is a new feature in libsci-10.3.0. CRAFFT uses offline and online testing information to adaptively select the best FFT algorithm from the available FFT options. CRAFFT provides a very simple user interface into advanced FFT functionality and performance. Planning and execution are combined into one call with CRAFFT. The library comes packaged with pre-computed plans so that in many cases the planning stage can be omitted. Please see the manual page intro_crafft for more information.

Usage note : for the most optimal usage of CRAFFT, please copy the file /opt/xt-libsci/10.3.0/fftw_wisdom into the lustre directory where the executable is run from.

LibGoto 1.26 includes enhanced BLAS performance. There are several libsci library variants installed with the libsci-10.3.0 package. On quadcore XT4 systems, the xtpe-quadcore module is loaded by default and ensures that quadcore-optimized libsci library will be loaded automatically.

To use threaded BLAS, the thread-enabled libsci library whose name is suffixed with '_mp' should be linked explicitly

   ftn -o myexec -lsci_quadcore_mp

Libsci-10.3 and fftw-3.1.1 are now dependent. If you wish to use fftw version 2.1.5 then do the following

module swap fftw/3.1.1 fftw/2.1.5.1

Libsci 10.2.1

The xt-libsci 10.2.1 release contains new versions of the scientific libraries for quad-core single thread and quad-core multi-thread.

By default, "module load xt-libsci" results in linking with the single-core version of the libsci.

The xtpe-quadcore module is loaded by default. This is necessary to use the quad-core single thread library. This results in these environment variables being set:

   XTPE_QUADCORE_ENABLED        ON
   LIBSCI_PRE_LINK_OPTS         -lsci_quadcore  -lsci_quadcore
   PGI_POST_COMPILE_OPTS        -tp barcelona-64 -tp barcelona-64
   PATHSCALE_POST_COMPILE_OPTS  -march=barcelona -march=barcelona
   GNU_POST_COMPILE_OPTS        -march=barcelona -march=barcelona
   LLVM_AMD_10H                 1

For Quad-core multi-thread, the users must explicitly use the "-lsci_mp" compiler option to point to the correct library.

Use of the quad-core libraries in this package requires the xtpe-quadcore module which is released in the xt-asyncpe 1.0 (or later) package.

Support

This package has the following support level : Supported

Available Versions

All versions of this software are provided by the system vendor and are not installed by NICS staff.