Engineering and Scientific Subroutine Library for AIX Version 3 Release 3: Guide and Reference
This section describes some key points about performance and accuracy in
the matrix operations subroutines.
- The matrix operation subroutines use algorithms that are tuned
specifically to the workstation processors they run on. The techniques
involve using any one of several computational methods, based on certain
operation counts and sizes of data.
- The short-precision multiplication subroutines provide increased accuracy
by partially accumulating results in long precision.
- Strassen's method is not stable for certain row or column scalings of
the input matrices A and B. Therefore, for
matrices A and B with divergent exponent values,
Strassen's method may give inaccurate results. For these cases,
you should use the _GEMUL or _GEMM subroutines.
- There are ESSL-specific rules that apply to the results of computations on
the workstation processors using the ANSI/IEEE standards. For details,
see What Data Type Standards Are Used by ESSL, and What Exceptions Should You Know About?.
If you are using large square matrices in your matrix multiplication
operations, you get better performance by using SGEMMS, DGEMMS, CGEMMS, and
ZGEMMS. These subroutines use Winograd's variation of
Strassen's algorithm for both real and complex matrices.
If you want to perform a combined matrix multiplication and addition with
scaling, SGEMM, DGEMM, CGEMM, and ZGEMM provide better performance than if you
perform the parts of the computation separately in your program. See
references [32] and [35].
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]