Updated 2001/05/18 |
Sun Performance Library[tm]/Sun WorkShop[tm] 6 update 2 Readme |
Contents
- Introduction
- About Sun Performance Library
- New Features
- Software Corrections
- Problems and Workarounds
- Limitations and Incompatibilities
- Documentation Errata
A. Introduction
This document contains last-minute information about the Sun WorkShop 6 update 2 release of Sun Performance Library. This document describes the software corrections addressed by this release and lists known problems, limitations, and incompatibilities.
For installation-related and late-breaking information about this release, see the Sun WorkShop 6 update 2 Release Notes. Information in the release notes overrides information in all readme files.
To access the release notes and the full Forte[tm] Developer/Sun WorkShop[tm] documentation set, point your Netscape[tm] Communicator 4.0 or compatible browser to the documentation index (file:/opt/SUNWspro/docs/index.html).
To view the text version of this readme, type the following at a command prompt:
example% more /opt/SUNWspro/READMEs/performance_libraryTo access the HTML version of this readme, point your Netscape Communicator 4.0 or compatible browser to:file:/opt/SUNWspro/docs/index.htmlNote - If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.
B. About Sun Performance Library
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 standard libraries:
- LAPACK version 3.0. 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.
- FFTPACK version 4. For performing the fast Fourier transform of periodic sequences.
- VFFTPACK version 2.1. A vectorized version of FFTPACK for performing the fast Fourier transform.
- LINPACK. For solving linear algebra problems in legacy applications containing routines that have not been upgraded to LAPACK version 3.0.
Announcement to Remove LINPACK From Future Versions of Sun Performance Library
After the Sun WorkShop 6 update 2 release of Sun Performance Library, LINPACK will no longer be included in the library. LAPACK version 3.0 supersedes LINPACK and all previous versions of LAPACK. If legacy user codes that call LINPACK routines cannot be modified to use LAPACK routines, the public domain version of LINPACK can still be obtained from Netlib. Listed below are the LINPACK routines that will be removed.
Compatibility
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) 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.0 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.
Documentation
The following Sun Performance Library documentation is available:
- Man pages (section 3P) for each function and subroutine in the library
- Sun Performance Library User's Guide, which describes and shows examples for:
- Using Sun Performance Library routines
- Using the Fortran and C interfaces
- Using optimization and parallelization options
- Using the sparse solver package
- Using the fast Fourier transform routines
- Sun Performance Library Reference Manual, which is the HTML and PDF versions of the section 3P man pages. The Sun Performance Library Reference Manual is available at http://docs.sun.com. For additional reference information, see the LAPACK Users' Guide, available from the Society for Industrial and Applied Mathematics (SIAM).
Note - The book Using Sun Performance Library Fast Fourier Transform Routines, released with Sun WorkShop 6 update 1, has been updated and merged with the Sun Performance Library User's Guide. See the Sun Performance Libary User's Guide for information on using the Sun Performance Library FFT routines or the 3p manpages for specific FFT routines.
The following books are available from SIAM or your local bookstore:
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.
- LAPACK Users' Guide, 3rd ed., by Anderson, E. and others, SIAM, 1999
- LINPACK User's Guide, by Dongarra, J.J. and others, SIAM, 1979
C. New Features
New Features in the Sun WorkShop 6 update 2 Release
This version of Sun Performance Library provides the following features.
Performance Increases
Performance has been increased for the following:
- LU factorization routines (GETRF)
- Long vector complex and double complex 1D FFT routines (where 'long vector' is defined as power-of-2 vectors of length > 131072).
- Selected BLAS routines.
- Sparse solver numeric factorization and solve.
- Long vector complex and double complex 1D FFTs have been parallelized.
Additional Routines Parallelized
- Additional sparse matrix ordering methods available for the sparse solver have been added that can reduce memory usage and shorten runtimes, depending on the sparse system.
Sparse Solver Enhancements
Features in the Sun WorkShop 6 update 1 Release
The version of Sun Performance Library released with Sun WorkShop 6 update 1 introduced the following features:
Additional Performance Enhancements for UltraSPARC III[tm] Processors
Used assembly language to optimize performance on both single-processor and multiple-processor UltraSPARC III machines.
FFT Improvements
Made fixes to FFT and VFFT man pages, added additional error-checking to the code, and made performance improvements.
FFT Document Supplement Created
Created the supplemental document Using Sun Performance Library Fast Fourier Transform Routines that describes FFTPACK and VFFTPACK routines.
Note - The book Using Sun Performance Library Fast Fourier Transform Routines, released with Sun WorkShop 6 update 1, has been updated and merged with the Sun Performance Library User's Guide. See the Sun Performance Libary User's Guide for information on using the Sun Performance Library FFT routines or the 3p manpages for specific FFT routines.
Sparse Solver
Improved sparse solver performance and functionality.
Improved Parallelization and Scalability
Used data flow programming techniques on selected routines and libraries to improve performance.
Interval Matrix-Multiply Implemented
Implemented an interval-based MATMUL.
Features in the Sun WorkShop 6 Sun Performance Library Release
The version of Sun Performance Library released with Sun WorkShop 6 introduced the following features:
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 Support
To use the code that is specific to the UltraSPARC III processor, 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:For information on using these features and examples, refer to the Sun Performance Library User's Guide.
- 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. The compiler 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 a set order for all routines. Fortran 95 allows some parameters to be optional. In Sun Performance Library, all increment parameters (INCX, INCY, and so on), workspaces, leading dimensions (LDA, LDB, and so on), and length or size parameters are optional.
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. In addition to handling licensing, -xlic_lib=sunperf has many semantics some of which are:
- Linking with the correct support libraries. In this release, Sun Performance Library is compiled with Fortran 95 instead of FORTRAN 77 as it was in previous releases. -xlic_lib will correctly link in the Fortran 95 runtime libraries instead of the FORTRAN 77 runtime libraries.
- Using the correct version of Sun Performance Library. There are different versions of Sun Performance Library to support programs built with -xparallel versus without -xparallel and for different values of -xarch. Using -xlic_lib=sunperf causes the driver to use the version of Sun Performance Library that matches your command-line options. If you link with -lsunperf or -lsunperf_mt, you are responsible for correctly handling all of the semantics.
Support for 64-Bit Solaris Operating Environments
To use the code for 64-bit Solaris Operating Environments, compile with -xarch=v9[a|b]. For information on converting integer arguments to 64-bit arguments, refer to the Sun Performance Library User's Guideor the Fortran User's Guide.
D. Software Corrections
There is no new information at this time.
E. Problems and Workarounds
This section discusses software bugs that could not be fixed in time for this release. (For updates, check Forte Developer Hot Product News, http://www.sun.com/forte/developer/hotnews.html)
There is no new information at this time.
F. Limitations and Incompatibilities
There is no new information at this time.
G. Documentation Errata
There is no new information at this time.
Copyright 2001 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.