This release of Sun Performance Library is available on the Solaris Operating System version 10. It is also available on several Linux operating environments.
Sun Performance Library is a set of optimized, high-speed mathematical subroutines for solving linear algebra and other numerically intensive problems. Sun Performance Library is based on a collection of public domain subroutines available from Netlib at http://www.netlib.org/ that have been enhanced and optimized, and bundled together as the Sun Performance Library. It includes the following standard libraries:
LAPACK version 3.1.1 for solving linear algebra problems.
BLAS1 (Basic Linear Algebra Subprograms) for performing vector-vector operations.
BLAS2 for performing matrix-vector operations.
BLAS3 for performing matrix-matrix operations.
Netlib Sparse-BLAS for performing sparse vector operations.
NIST Fortran Sparse BLAS version 0.5 for performing fundamental sparse matrix operations.
SuperLU version 3.0 for solving sparse linear systems of equations.
Sun Performance Library includes the following additional routines:
Fast Fourier transform (FFT) routines
Direct Sparse Solver routines
The LAPACK 3.1.1 routines in Sun Performance Library are compatible with the user routines from previous versions of LAPACK, including 1.x, 2.0, and 3.0, and with all routines in LAPACK 3.1.1. However, due to internal changes in LAPACK 3.1.1, compatibility with internal routines cannot be guaranteed.
Internal routines that might be incompatible are called auxiliary routines in the LAPACK source code available from Netlib. Some information on auxiliary routines is included in the LAPACK Users' Guide, available from the Society for Industrial and Applied Mathematics (SIAM) at http://www.siam.org/.
Because the user interfaces to the LAPACK auxiliary routines can change from release to release of LAPACK, the user interfaces to the LAPACK auxiliary routines in Sun Performance Library can change as well. Auxiliary routines compatible with LAPACK 3.1.1 are generally available for users to call; however, the auxiliary routines are not specifically documented, tested, or supported. Be aware that the user interfaces for the LAPACK auxiliary routines can change in future releases of Sun Performance Library, so that the user interfaces comply with the version of LAPACK supported by that version of the Sun Performance Library.
The following Sun Performance Library documentation is available:
Man pages (section 3p) for each function and subroutine in the library
The Oracle Solaris Studio 12.2: Sun Performance Library User's Guide describes and shows examples for:
Using Sun Performance Library routines
Using the Fortran and C interfaces
Using optimization and parallelization options
Using SPSOLVE and SuperLU sparse solver packages
Using the FFT routines
For additional reference information, see the LAPACK Users' Guide 3rd ed., by Anderson, E. and others, SIAM, 1999, which is available from the Society for Industrial and Applied Mathematics (SIAM) or your local bookstore. The LAPACK Users' Guide is the official reference for the base LAPACK 3.1.1 routines available on Netlib and provides mathematical descriptions of the LAPACK 3.1.1 routines.
In this release, linking with Sun Performance Library has changed for the Fortran and C compilers. Now Fortran, C, and C++ all use the -library=sunperf option instead of the -xlic_lib=sunperf option. If you want to link statically, add the -staticlib=sunperf option after the -library=sunperf option.
libsuniperf (IBLAS) is classified Obsolete and is removed from Oracle Solaris Studio in this release.
The Sun Studio 12 update 1 release introduced the following in the Sun Performance Library:
Sun Performance Library now includes the ScaLAPACK 1.8.0 high performance cluster library. This library works with Sun HPC ClusterTools 8.1 based on the OpenMPI 1.3 release. The reference implementation along with documentation can be found at http://www.netlib.org/scalapack/.
The new Custom Library Tool provides the option to create scaled down versions of Sun Performance Library. The Custom Library Tool, gen_custom, extracts routines from an archive library and then recombines them into a customized library. This can reduce the size footprint of a large library like the Sun Performance Library to just those routines the user needs. See the gen_custom(3p) man page for further information.
Numerous performance improvements have been made for BLAS, LAPACK, and FFT routines.
Support for Intel(R) CoreTM i7 (Nehalem) and AMD Quad-Core OpteronTM (Shanghai) CPUs is available. To link with this library, use the following options:
-m64 -xlic_lib=sunperf (C and Fortran)
-m64 -library=sunperf (C++)
Support for Fujitsu SPARC64-VII(R) CPUs is available. This version of Sun Performance Library uses the floating point multiply-add instruction to achieve the best performance possible. To link with this library, use the following options:
-xtarget=sparc64vii -fma=fused -xlic_lib=sunperf (C and Fortran)
-xtarget=sparc64vii -fma=fused -library=sunperf (C++)
ZGEMM improvements for SPARC64-VI and SPARC64-VII
LAPACK routines are updated to conform to the latest specification of LAPACK 3.1.1
Support for Woodcrest CPUs is available.
Support for SPARC64-VI CPUs is available.
Libraries are available on 32-bit and 64-bit systems with SuSE Linux Enterprise Server 9 or Redhat Enterprise Linux 4 operating environment.
Routines with 64-bit integer parameters are now available. That is, DAXPY() and DAXPY_64() are in all versions of the Sun Performance Library.
Serial version of the sparse solver package SuperLU is available and can be called from C drivers or through the existing Fortran-based sparse solver in the Library.
At this time, quad-precision routines (dqdoti, dqdota) are not available
Interval BLAS routines are available for Solaris OS and Linux OS on SSE2-enabled and above x86 systems.
BLAS and FFT improvements for the UltraSPARC IV+ and UltraSPARC IV processors are included.
Support for SPARC64VI CPUs is available. This version of Sun Performance Library uses the floating point multiply-add instruction to achieve the best performance possible on SPARC64VI CPUs. To link with this library, compile/link with the -xtarget=sparcfmaf flag
Serial version of the sparse solver package SuperLU is available and can be called from C drivers or through the existing Fortran-based SPSOLVE sparse solver in the Library.