Before You Begin

This book describes how to use the Suntrademark specific extensions and features included with the Sun Performance Librarytrademark subroutines that are supported by the Suntrademark Studio Fortran 95 and C compilers.


Before You Read This Book

In order to fully use the information in this document, the reader should have a working knowledge of the Fortran or C language and some understanding of the base LAPACK and BLAS libraries available from Netlib (http://www.netlib.org).


How This Book Is Organized

This book is organized into the following chapters and appendixes:

Chapter 1 describes the benefits of using the Sun Performance Library and the features of the Sun Performance Library.

Chapter 2 describes how to use the f95 and C interfaces provided with the Sun Performance Library.

Chapter 3 shows how to use compiler and linking options to maximize library performance for specific SPARC® instruction set architectures and different parallel processing modes.

Chapter 5 includes information on matrix storage schemes, matrix types, and sparse matrices.

Chapter 6 describes the one-dimensional, two-dimensional, and three-dimensional fast Fourier transform routines provided with the Sun Performance Library.

Chapter 7 provides an introduction to the Interval Basic Linear Algebra Subroutine (IBLAS) library provided with the Sun Performance Library.

Appendix A lists the Sun Performance Library routines organized according to name, routine, and library.


What Is Not in This Book

This book does not repeat information included in existing LAPACK books or sources on Netlib. Refer to the next section Related Documents and Web Sites for a list of sources that contain reference material for the base routines upon which Sun Performance Library is based.


Related Documents and Web Sites

A number of books and web sites provide reference information on the routines in the base LAPACK and BLAS libraries upon which the Sun Performance Library is based. The LAPACK Users' Guide. 3rd ed., Anderson E. and others. SIAM, 1999, augments the material in this manual and provide essential information:

The LAPACK Users' Guide, 3rd ed. is the official reference for the base LAPACK version 3.0 routines. An online version of the LAPACK 3.0 Users' Guide is available at http://www.netlib.org/lapack/lug/, and the printed version is available from the Society for Industrial and Applied Mathematics (SIAM) http://www.siam.org.

Sun Performance Library routines contain performance enhancements, extensions, and features not described in the LAPACK Users' Guide. However, because Sun Performance Library maintains compatibility with the base LAPACK routines, the LAPACK Users' Guide can be used as a reference for the LAPACK routines and the Fortran interfaces.

Online Resources

Online information describing the performance library routines that form the basis of the Sun Performance Library can be found at the following URLs.


LAPACK version 3.0

http://www.netlib.org/lapack/

BLAS, levels 1 through 3

http://www.netlib.org/blas/

FFTPACK version 4

http://www.netlib.org/fftpack/

VFFTPACK version 2.1

http://www.netlib.org/vfftpack/

Sparse BLAS

http://www.netlib.org/sparseblas/index.html

NIST (National Institute of Standards and Technology) Fortran Sparse BLAS

http://math.nist.gov/spblas/




Note - LINPACK has been removed from the Sun Performance Library. The LINPACK libraries and documentation are still available from www.netlib.org.




Typographic Conventions


TABLE P-1 Typeface Conventions

Typeface

Meaning

Examples

AaBbCc123

The names of commands, files, and directories; on-screen computer output

Edit your .login file.

Use ls -a to list all files.

% You have mail.

AaBbCc123

What you type, when contrasted with on-screen computer output

% su

Password:

AaBbCc123

Book titles, new words or terms, words to be emphasized

Read Chapter 6 in the User's Guide.

These are called class options.

You must be superuser to do this.

AaBbCc123

Command-line placeholder text; replace with a real name or value

To delete a file, type rm filename.



TABLE P-2 Code Conventions

Code Symbol

Meaning

Notation

Code Example

[ ]

Brackets contain arguments that are optional.

O[n]

O4, O

{ }

Braces contain a set of choices for a required option.

d{y|n}

dy

|

The "pipe" or "bar" symbol separates arguments, only one of which may be chosen.

B{dynamic|static}

Bstatic

:

The colon, like the comma, is sometimes used to separate arguments.

Rdir[:dir]

R/local/libs:/U/a

...

The ellipsis indicates omission in a series.

xinline=f1[,...fn]

xinline=alpha,dos



Shell Prompts


Shell

Prompt

C shell

machine-name%

C shell superuser

machine-name#

Bourne shell and Korn shell

$

Superuser for Bourne shell and Korn shell

#



Supported Platforms

This Sun Studio release supports systems that use the SPARC® and x86 families of processor architectures: UltraSPARC®, SPARC64, AMD64, Pentium, and Xeon EM64T. The supported systems for the version of the Solaris Operating System you are running are available in the hardware compatibility lists at http://www.sun.com/bigadmin/hcl. These documents cite any implementation differences between the platform types.


Accessing Sun Studio Software and Man Pages

The Sun Studio software and man pages are not installed into the /usr/bin/ and /usr/share/man directories. To access the software, you must have your PATH environment variable set correctly (see Accessing the Software). To access the man pages, you must have the your MANPATH environment variable set correctly (see Accessing the Man Pages.).

For more information about the PATH variable, see the csh(1), sh(1), and ksh(1) man pages. For more information about the MANPATH variable, see the man(1) man page.



Note - The information in this section assumes that your Sun Studio software is installed in the /opt directory. If your software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.



Accessing the Software

Use the steps below to determine whether you need to change your PATH variable to access the software.

To Determine Whether You Need to Set Your PATH Environment Variable

1. Display the current value of the PATH variable by typing the following at a command prompt.


% echo $PATH

2. Review the output to find a string of paths that contain /opt/SUNWspro/bin/.

If you find the path, your PATH variable is already set to access the compilers and tools. If you do not find the path, set your PATH environment variable by following the instructions in the next procedure.

To Set Your PATH Environment Variable to Enable Access to the Compilers and Tools

1. If you are using the C shell, edit your home .cshrc file. If you are using the Bourne shell or Korn shell, edit your home .profile file.

2. Add the following to your PATH environment variable. If you have Forte Developer software, Sun ONE Studio software, or another release of Sun Studio software installed,, add the following path before the paths to those installations.

/opt/SUNWspro/bin

Accessing the Man Pages

Use the following steps to determine whether you need to change your MANPATH variable to access the man pages.

To Determine Whether You Need to Set Your MANPATH Environment Variable

1. Request the dbx man page by typing the following at a command prompt.


% man dbx

2. Review the output, if any.

If the dbx(1) man page cannot be found or if the man page displayed is not for the current version of the software installed, follow the instructions in the next procedure for setting your MANPATH environment variable.

To Set Your MANPATH Environment Variable to Enable Access to the Man Pages

1. If you are using the C shell, edit your home .cshrc file. If you are using the Bourne shell or Korn shell, edit your home .profile file.

2. Add the following to your MANPATH environment variable.

/opt/SUNWspro/man

Accessing the Integrated Development Environment

The Sun Studio integrated development environment (IDE) provides modules for creating, editing, building, debugging, and analyzing the performance of a C, C++, or Fortran application.

The command to start the IDE is sunstudio. For details on this command, see the sunstudio(1) man page.

The correct operation of the IDE depends on the IDE being able to find the core platform. The sunstudio command looks for the core platform in two locations:

If the core platform is not installed or mounted to either of the locations where the sunstudio command looks for it, then each user on a client system must set the environment variable SPRO_NETBEANS_HOME to the location where the core platform is installed or mounted (/installation_directory/netbeans/3.5V).

Each user of the IDE also must add /installation_directory/SUNWspro/bin to their $PATH in front of the path to any other release of Forte Developer software, Sun ONE Studio software, or Sun Studio software.

The path /installation_directory/netbeans/3.5V/bin should not be added to the user's $PATH.


Accessing Sun Studio Documentation

You can access the documentation at the following locations:

If your software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.

The docs.sun.com web site (http://docs.sun.com) enables you to read, print, and buy Sun Microsystems manuals through the Internet. If you cannot find a manual, see the documentation index that is installed with the software on your local system or network.



Note - Sun is not responsible for the availability of third-party web sites mentioned in this document. Sun does not endorse and is not responsible or liable for any content, advertising, products, or other materials that are available on or through such sites or resources. Sun will not be responsible or liable for any actual or alleged damage or loss caused by or in connection with use of or reliance on any such content, goods, or services available on or through any such sites or resources.



Documentation in Accessible Formats

The documentation is provided in accessible formats that are readable by assistive technologies for users with disabilities. You can find accessible versions of documentation as described in the following table. If your software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.


Type of Documentation

Format and Location of Accessible Version

Manuals (except third-party manuals)

HTML at http://docs.sun.com

Third-party manuals:

  • Standard C++ Library Class Reference
  • Standard C++ Library User's Guide
  • Tools.h++ Class Library Reference
  • Tools.h++ User's Guide

HTML in the installed software through the documentation index at file:/opt/SUNWspro/docs/index.html

Readmes and man pages

HTML in the installed software through the documentation index at file:/opt/SUNWspro/docs/index.html

Online help

HTML available through the Help menu in the IDE

Release notes

HTML at http://docs.sun.com


Related Compilers and Tools Documentation

The following table describes related documentation that is available at file:/opt/SUNWspro/docs/index.html and http://docs.sun.com. If your software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.


Document Title

Description

Numerical Computation Guide

Describes issues regarding the numerical accuracy of floating-point computations.



Accessing Related Solaris Documentation

The following table describes related documentation that is available through the docs.sun.com web site.


Document Collection

Document Title

Description

Solaris Reference Manual Collection

See the titles of man page sections.

Provides information about the Solaris operating environment.

Solaris Software Developer Collection

Linker and Libraries Guide

Describes the operations of the Solaris link-editor and runtime linker.

Solaris Software Developer Collection

Multithreaded Programming Guide

Covers the POSIX and Solaris threads APIs, programming with synchronization objects, compiling multithreaded programs, and finding tools for multithreaded programs.



Resources for Developers

Visit http://developers.sun.com/prodtech/cc to find these frequently updated resources:

You can find additional resources for developers at http://developers.sun.com.


Contacting Sun Technical Support

If you have technical questions about this product that are not answered in this document, go to:

http://www.sun.com/service/contacting


Sun Welcomes Your Comments

Sun is interested in improving its documentation and welcomes your comments and suggestions. Submit your comments to Sun at this URL

http://www.sun.com/hwdocs/feedback

Please include the title and part number of your document with your feedback:

Sun Performance Library User's Guide, part number 819-0498-10.