Documentation Home
> Sun S3L 3.0 Programming and Reference Guide
Sun S3L 3.0 Programming and Reference Guide
Book Information
Preface
Chapter 1 Introduction to Sun S3L
Sun S3L Overview
Contents of Sun S3L
Sun S3L Toolkit Functions
Core Scientific Library Routines
Chapter 2 Sun S3L Arrays
Overview
S3L Array Attributes
S3L Array Handles
Processes and Process Grids
Defining Process Grids
Declaring S3L Arrays
Deallocating S3L Arrays
Distributing S3L Arrays
Examining the Contents of S3L Arrays
Printing S3L Arrays
Visualizing Distributed S3L Arrays With Prism
Chapter 3 Sun S3L Performance Guidelines
Introduction
S3L Array Layout and Performance
Functions That Benefit From Cyclic Distributions
Distributing Only the Last Axis
Allocating Arrays in Shared Memory
Numbers of Processes
Function-Specific Guidelines
S3L FFT (Fast Fourier Transform)
Complex to Complex FFTs
Sun S3L FFT Optimizations
Dense Singular Value Decomposition (SVD)
Sorting and Ranking S3L Arrays
Dense Linear Systems Solvers
Banded Solvers
Sparse Linear Systems Solvers
Sparse matrix utilities
Dense Matrix Operations
Convolution, Deconvolution, Correlation, Autocorrelation
Chapter 4 Sun S3L Data Types
Chapter 5 Multiple Instance
Defining Multiple Independent Data Sets
Rules for Data Axes and Instance Axes
Specifying Single-Instance vs. Multiple-Instance Operations
Example 1: Matrix-Vector Multiplication
Single-Instance Operation
Multiple-Instance Operation
Example 2: Fast Fourier Transforms
Chapter 6 Using Sun S3L
Creating a Program that Calls Sun S3L Routines
Include the Sun S3L Header File
Compiling and Linking
Executing Sun S3L Programs
The Sun S3L Safety Mechanism
Synchronization
Error Checking and Reporting
Levels of Error Checking
Selecting a Safety Mechanism Level
Setting the Sun S3L Safety Environment Variable
Setting the Safety Level from Within a Program
Online Sample Code and Man Pages
Sample Code Directories
Compiling and Running the Examples
Man Pages
Chapter 7 Sun S3L Toolkit Routines
Setting Up a Sun S3L Environment
S3L_init
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Leaving a Sun S3L Environment
S3L_exit
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Declaring Parallel Arrays
S3L_declare
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Notes
Examples
Related Functions
S3L_declare_detailed
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Notes
Examples
Related Functions
S3L_DefineArray
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Error Handling
Examples
Related Functions
Parallel Process Grids
S3L_set_process_grid
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_free_process_grid
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Deallocating Parallel Arrays
S3L_free
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_UnDefineArray
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Error Handling
Examples
Related Functions
Performing Operations on S3L Parallel Arrays
S3L_array_op1
Description
Syntax
C/C++ Syntax
F77/F90
Input
Output
Error Handling
Examples
Related Functions
S3L_array_op2
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_array_scalar_op2
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_cshift
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_forall
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
S3L_reduce
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_reduce_axis
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_set_array_element, S3L_get_array_element, S3L_set_array_element_on_proc, and S3L_get_array_element_on_proc
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
S3L_zero_elements
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Extracting Information About S3L Parallel Arrays
S3L_describe
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_get_attribute
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Reading Data Into and Printing From S3L Parallel Arrays
S3L_read_array and S3L_read_sub_array
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_print_array and S3L_print_sub_array
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_write_array and S3L_write_sub_array
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Copy Array
S3L_copy_array
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Converting Between ScaLAPACK Descriptors and S3L Array Handles
S3L_from_ScaLAPACK_desc
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_to_ScaLAPACK_desc
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Performing Miscellaneous S3L Control Functions
S3L_thread_comm_setup
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_set_safety
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_get_safety
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Examples
Related Functions
Chapter 8 Sun S3L Core Library Functions
Dense Matrix Routines
S3L_2_norm and S3L_gbl_2_norm
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_inner_prod and S3_gbl_inner_prod
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_mat_mult
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_mat_vec_mult
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_outer_prod
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Sparse Matrix Operations
S3L_declare_sparse
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_free_sparse
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_rand_sparse
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_matvec_sparse
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_read_sparse
Description
S3L_SPARSE_COO - Coordinate Format
MatrixMarket Notes
S3L_SPARSE_CSR - Compressed Sparse Row Format
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_print_sparse
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Gaussian Elimination for Dense Systems
S3l_lu_factor
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3l_lu_invert
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3l_lu_solve
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3l_lu_deallocate
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Fast Fourier Transforms
S3L_fft
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_fft_detailed
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_ifft
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_rc_fft and S3L_cr_fft
Description
Supported Array Sizes
Scaling
Complex Data Packed Representation
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_fft_setup
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_rc_fft_setup
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_fft_free_setup
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_rc_fft_free_setup
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Structured Solvers
S3L_gen_band_factor
Description
Example:
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_gen_band_free_factors
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_gen_band_solve
Description
Array Layout Guidelines
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_gen_trid_factor
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_gen_trid_free_factors
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_gen_trid_solve
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Dense Symmetric Eigenvalue Solver
S3L_sym_eigen
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Parallel Random Number Generators
S3L_setup_rand_fib
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_free_rand_fib
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_rand_fib
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_rand_lcg
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Least Squares Solver
S3L_gen_lsq
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Dense Singular Value Decomposition
S3L_gen_svd
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Iterative Solver
S3L_gen_iter_solve
Description
Algorithm
Preconditioning
Convergence/Divergence Criteria
Initial Guess
Maximum Iterations
Krylov Subspace
Stopping Criterion Tolerance
Richardson Scaling Factor
Iteration Termination
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Input Errors
Computational Errors
Examples
Related Functions
Autocorrelation
S3L_acorr_setup
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_acorr_free_setup
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_acorr
Description
Side Effects
Restriction
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Convolution/Deconvolution
S3L_conv_setup
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_conv_free_setup
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_conv
Description
Side Effects
Restriction
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_deconv_setup
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_deconv_free_setup
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_deconv
Description
Restriction
Scaling
Side Effects
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Multidimensional Sort and Grade
S3L_grade_down, S3L_grade_up, S3L_grade_down_detailed, S3L_grade_up_detailed
Description
S3L_grade_down and S3L_grade_up
S3L_grade_detailed_down and S3L_grade_detailed_up
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
S3L_sort, S3L_sort_up, S3L_sort_down, S3L_sort_detailed_up, S3L_sort_detailed_down
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Related Functions
Parallel Transpose
S3L_trans
Description
Syntax
C/C++ Syntax
F77/F90 Syntax
Input
Output
Error Handling
Examples
Appendix A S3L Array Checking Errors
© 2010, Oracle Corporation and/or its affiliates