|This document contains last minute information about the Sun
WorkShop 6 Performance Library.
To view the text version of this document, type the following at a command
example% more /opt/SUNWspro/READMEs/performance_library
To access the HTML version of this document, point your Netscape(TM) Communicator
4 or compatible browser to:
Note: If your Sun WorkShop software is not installed in the standard
directory, ask your system administrator for the equivalent path on your
For more information about this product, see:
These documents are accessible in HTML by pointing your browser to file:/opt/SUNWspro/docs/index.html.
If your Sun WorkShop software is not installed in the /opt directory,
ask your system administrator for the equivalent path on your system.
Sun WorkShop 6 Release Notes -- This documentation describes installation-related
and late-breaking information about this release. Information in the release
notes overrides information in all readme files.
Man pages for the Sun Performance Library, which are in section man 3P
(man -s 3P function_name)
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
applications available from Netlib at http://www.netlib.org.
Sun has enhanced these public domain applications and bundled them as the
Sun Performance Library.
Sun Performance Library contains enhanced versions of the following
LAPACK version 3.0 - For solving linear algebra problems.
BLAS1 (Basic Linear Algebra Subprograms) - For performing vector-vector
BLAS2 - For performing matrix-vector operations.
BLAS3 - For performing matrix-matrix operations.
FFTPACK version 4 - For performing the fast Fourier transform of periodic
VFFTPACK version 2.1 - A vectorized version of FFTPACK for performing the
fast Fourier transform.
This release of Sun Performance Library provides the following new features:
Support for LAPACK 3.0
Sparse solver package
UltraSPARC III (TM) Support
Fortran 95 language support
Changes to Sun Performance Library licensing
Support for LAPACK 3.0
LAPACK 3.0 subroutines have been added. The previous version of Sun Performance
Library was based on LAPACK 2.0. The current version of Sun Performance
Library still maintains compatibility with LAPACK 1.x and LAPACK 2.0.
Sparse Solver Package
The sparse solver package provides routines for solving sparse matrices
(symmetric, structurally symmetric, and unsymmetric coefficient matrices)
using direct methods and provides a choice of fill-reducing ordering algorithms,
including user specified orderings.
UltraSPARC III (TM) Support
To use the code that is specific to UltraSPARC III, compile with -xarch=v8plusb
for 32-bit code or -xarch=v9b for 64-bit code.
Fortran 95 Language Feature Support
By including the f95 statement USE SUNPERF in your program,
you will be able to use the Performance Library modules and definitions.
This enables the following features:
Type independence - In the FORTRAN 77 routines, you must specify
the type as part of the name. In Fortran 95, a routine for a specific data
type can be determined by the data type of the arguments passed to the
routine rather than by specifying the entire routine name.
Compile-time checking - In FORTRAN 77, it is generally impossible
for the compiler to know what parameters should be passed to a particular
routine. In Fortran 95, the USE SUNPERF statement allows
the compiler to know what the number, type, size, and shape of each parameter
to each Sun Performance Library routine should be. It can check your
calls against the expected value and point out errors during compilation.
Optional parameters - In FORTRAN 77, all parameters must be specified in
order for all routines. Fortran 95 allows some parameters to be optional.
In Sun Performance Library, all increment parameters (INCX, INCY,
etc.), workspaces, leading dimensions (LDA, LDB, etc.),
and length/size parameters are optional.
For information on using these features and examples, refer to the Sun
Performance Library User's Guide.
Changes to Sun Performance Library Licensing
Sun Performance Library is no longer licensed. However, you should
continue to link with -xlic_lib=sunperf rather than -lsunperf.
has many semantics in addition to handling licensing, some of which
Link with the correct support libraries. In this release, Sun Performance
Library is compiled with Fortran 95 instead of FORTRAN 77 as in previous
releases. -xlic_lib will correctly link in the Fortran
95 run time libraries instead of the FORTRAN 77 run-time libraries.
Use the right version of Sun Performance Library. There are different
versions of Sun Performance Library to support programs built with -xparallel
versus without and for different values of -xarch. Using
will cause the driver to use the version of Sun Performance Library that
matches your command line options. If you link with -lsunperf
or -lsunperf_mt then you must be sure to correctly handle
all of the semantics yourself.
Sun Performance Library provides the following additional features
64-bit code on UltraSPARC support
Optimizations for shared and dedicated parallelization modes
64-Bit Code on UltraSPARC Support
To use the 64-bit code, compile with -xarch=v9[a|b]. For
information on converting integer arguments to 64-bit arguments, refer
to the Sun Performance Library User's Guide.
Parallel Model Choice
You can choose a model of parallelism that is optimized for a dedicated
machine or for a shared machine by selecting the appropriate library.
Shared multiprocessor library: libsunperf.a or libsunperf.so
Dedicated multiprocessor library: libsunperf_mt.a or libsunperf_mt.so
On a dedicated system, the dedicated model can be somewhat faster than
the shared model due to lower synchronization overhead. On a system running
many different tasks, the shared model provides better cooperation in the
use of available resources.
The LAPACK 3.0 routines in Sun Performance Library are compatible with
the user routines from previous versions of LAPACK including 1.x and 2.0
and with all routines in LAPACK 3.0. However, due to internal changes
in LAPACK 3.0 , 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) .
The following Sun Performance Library documentation is available:
Man pages (section 3P) for each function and subroutine in
Sun Performance Library User's Guide, which describes and shows
The following books are available from the SIAM or your local bookstore:
Using Sun Performance Library routines
Using the Fortran and C interfaces
Using optimization and parallelization options
Using the sparse solver package
Sun Performance Library Reference Manual (html only)
LAPACK Users' Guide, 3rd ed., by Anderson E. and others, SIAM, 1999
LINPACK User's Guide, by Dongarra J.J. and others, SIAM, 1979
The LAPACK Users' Guide is the official reference for the base LAPACK
3.0 routines available on Netlib and provides mathematical descriptions
of the LAPACK 3.0 routines.
Copyright 2000 Sun Microsystems,
Inc., 901 San Antonio Road, Palo Alto, CA 94303, U.S.A. All rights reserved.
Sun, Sun Microsystems, the Sun logo, docs.sun.com, and Solaris are trademarks,
registered trademarks, or service marks of Sun Microsystems, Inc. in the
U.S. and other countries.