Library |
Usage/Description |
(Basic Linear Algebra Communication Subroutines) |
To link in this library, include -lblacs in
the link line. BLACS (Basic Linear Algebra Communication Subroutines) -
set of kernel communication routines for message passing parallel linear
algebra routines with the added purposes to:
The BLACS are not a general purpose communications library (usually vector based rather than matrix) |
ESSL
|
To link in this library, include -lessl in the link line.
This library works with both 32 and 64 bit environments and is thread-safe. A collection of mathematical subroutines that provides a wide range of high-performance mathematical functions for many different scientific and engineering applications. ESSL includes the following:
ESSL provides single and double precision versions for most routines. |
(Linear Algebra Package) |
To
link in the 64-bit version, use -q64 - L/usr/local/apps/LAPACK -llapack. To
call LAPACK functions from C, you do not need to use trailing underscores. In
addition, be sure to use the -lxlf90_r flag when linking with C
compilers. · LAPACK:
· LAPACK Routines - designed for dense or banded matrices, not for general sparse matrices :
|
MASS Acceleration Subsystem) |
To link in MASS scalar functions, include -L/usr/local/apps/mass
-lmass in the link line. Note that since MASS replaces some functions
in -lm, it must be linked on the compile line prior to -lm. Be
sure to compile programs using MASS library with thread-safe (_r) compilers. A set of functions that replace several of the mathematical functions in libm.a (sqrt, rsqrt, exp, log, sin, cos, tan, atan, atan2, sinh, cosh, tanh, dnint, x**y). To link in vector intrinsics, include -L/usr/local/apps/mass -lmassvp4 in the link line. When calling the library functions from C, only call by reference is supported, even for scalar arguments. MASS also has vector intrinsics. When it's necessary to perform an identical math operation on an array of input data, vector functions provide a better performance than scalar ones (see link above for some performance measurements as well as usage caveats). Note that some MASS functions are less accurate than the default -lm functions. The results may not be bit-wise identical. The accuracy of vector functions is comparable to that of the scalar ones, but the results still may not be bit-wise identical. |
(Numerical Algorithms Group) |
To link in the NAG library, include -q64 -L/usr/local/apps/nag -lnag in your link line. NAG is available only in the 64 bit version, so the -q64 compile flag (or OBJECT_MODE set to 64) is necessary to use it. To call NAG functions from C, you do not need to use trailing underscores. In addition, be sure to use the -lxlf90_r flag when linking with C compilers NAG offers a numerical and statistical library in Fortran that includes:
|
(Parallel ESSL) |
To link in this library, include -lpessl in the link
line. Note that PESSL is not thread-safe. PESSL is a parallel version of the ESSL library. It is used in conjunction with the serial version of ESSL. PESSL components:
|
(Scalable LAPACK) |
To
link in the 64-bit version, use -q64 -L/usr/local/apps/scalapack
-lscalapack. ScaLAPACK (Scalable LAPACK) is a library of high-performance linear algebra routines for distributed-memory message-passing MIMD computers and networks of workstations supporting PVM and/or MPI.
|
EXAMPLES |
From PESSL examples in
/usr/lpp/pessl.rte.common/example/c on DataStar. From: “Parallel Programming with MPI” – Peter Pacheco. |