Go to main content
Oracle® Developer Studio 12.6: Performance Library User's Guide

Exit Print View

Updated: July 2017
 
 
Chapter 6

Sparse Computation

The Oracle Developer Studio Performance Library has two software packages, SPSOLVE and SuperLU, that can be used to factor and solve sparse linear systems of equations.

SPSOLVE is a collection of routines that solve symmetric, structurally symmetric, and unsymmetric coefficient matrices using one of several ordering methods, including a user-specified ordering. In previous releases, SPSOLVE was referred to as the sparse solver package. It is written mainly in Fortran and contains interfaces for FORTRAN 77 only. Fortran 95 and C interfaces are not currently provided. To use SPSOLVE routines from Fortran 95, use the FORTRAN 77 interfaces. To call SPSOLVE from C, append an underscore to the routine name (dgssin_(), dgssor_(), and so on), pass arguments by reference, and use one-based array indexing. See Unsymmetric Sparse Matrices for an example of one-based and zero-based array indexing.

The SuperLU package in the Oracle Developer Studio Performance Library is the sequential version (version 3.0) of the public domain application that solves general unsymmetric sparse systems. While it is sequential, SuperLU does make use of several level 2 and level 3 BLAS routines that are parallelized. For detailed documentation of SuperLU algorithm, routines and data structures, see items 5, 6, 7 in References for Sparse BLAS and Solver. SuperLU is written in C, which requires array indexing to be zero-based regardless of whether SuperLU routines are being called from Fortran-based SPSOLVE or a C driver program. See SuperLU Interface for more detail and examples.