Sun Logo


Sun Performance Library User’s Guide

Suntrademark Studio 12

819-5268-10



Contents

Tables

Preface

Before You Read This Book

What Is Not in This Book

Related Documents and Web Sites

Typographic Conventions

Shell Prompts

Supported Platforms

Accessing Sun Studio Documentation

Accessing Related Solaris Documentation

Resources for Developers

Contacting Sun Technical Support

Sun Welcomes Your Comments

1. Introduction

1.1 Libraries Included With Sun Performance Library

1.1.1 Netlib

1.2 Sun Performance Library Features

1.3 Mathematical Routines

1.4 Compatibility With Previous LAPACK Versions

1.5 Getting Started With Sun Performance Library

1.5.1 Enabling Trap 6 on SPARC Platforms

2. Using Sun Performance Library

2.1 Improving Application Performance

2.1.1 Replacing Routines With Sun Performance Library Routines

2.1.2 Improving Performance of Other Libraries

2.1.3 Using Tools to Restructure Code

2.2 Fortran Interfaces

2.2.1 Fortran SUNPERF Module for Use With Fortran 95

2.2.2 Optional Arguments

2.3 Fortran Examples

2.4 C Interfaces

2.5 C Examples

3. Optimization

3.1 Using The Sun Performance Library

3.1.1 Fortran and C

3.1.2 C++

3.2 Compiling

3.2.1 Compiling Code for a 64-Bit Enabled Operating Environments

3.2.2 64-Bit Integer Arguments

4. Parallel Processing

4.1 Run-Time Issues

4.2 Degree of Parallelism

4.3 Synchronization Mechanisms

4.4 Parallel Processing Examples

5. Working With Matrices

5.1 Matrix Storage Schemes

5.1.1 Banded Storage

5.1.2 Packed Storage

5.2 Matrix Types

5.2.1 General Matrices

5.2.2 Triangular Matrices

5.2.3 Symmetric Matrices

5.2.4 Tridiagonal Matrices

6. Sparse Computation

6.1 Sparse Matrices

6.1.1 Symmetric Sparse Matrices

6.1.2 Structurally Symmetric Sparse Matrices

6.1.3 Unsymmetric Sparse Matrices

6.2 Sun Performance Library Sparse BLAS

6.2.1 Netlib Sparse BLAS

6.2.2 NIST Fortran Sparse BLAS

6.3 SPSOLVE Interface

6.3.1 SPSOLVE Routines

6.3.2 Routine Calling Order

6.3.3 SPSOLVE Examples

6.4 SuperLU Interface

6.4.1 Calling from C

6.4.2 Calling from Fortran

6.4.3 Examples

6.5 References

7. Using Sun Performance Library Signal Processing Routines

7.1 Forward and Inverse FFT Routines

7.1.1 Linear FFT Routines

7.1.2 Two-Dimensional FFT Routines

7.1.3 Three-Dimensional FFT Routines

7.1.4 Comments

7.2 Cosine and Sine Transforms

7.2.1 Fast Cosine and Sine Transform Routines

7.2.2 Fast Cosine Transforms

7.2.3 Fast Sine Transforms

7.2.4 Discrete Fast Cosine and Sine Transforms and Their Inverse

7.2.5 Fast Cosine Transform Examples

7.2.6 Fast Sine Transform Examples

7.3 Convolution and Correlation

7.3.1 Convolution

7.3.2 Correlation

7.3.3 Sun Performance Library Convolution and Correlation Routines

7.3.4 Arguments for Convolution and Correlation Routines

7.3.5 Work Array WORK for Convolution and Correlation Routines

7.3.6 Sample Program: Convolution

7.4 References

8. Interval BLAS Routines

8.1 Introduction

8.1.1 Intervals

8.2 IBLAS Routine Names

8.2.1 Naming Conventions

8.3 Fortran Interface

8.3.1 Binding Format

8.3.2 Language Bindings

8.3.3 References

A. Sun Performance Library Routines

A.1 LAPACK Routines

A.2 BLAS1 Routines

A.3 BLAS2 Routines

A.4 BLAS3 Routines

A.5 Sparse BLAS Routines

A.6 Sparse Solver Routines

A.7 Signal Processing Library Routines

A.7.1 FFT Routines

A.7.2 Fast Cosine and Sine Transforms

A.7.3 Convolution and Correlation Routines

A.8 Miscellaneous Signal Processing Routines

A.9 Interval BLAS (IBLAS) Routines

A.10 Sort Routines

Index