More About the ScaLAPACK Test Suite

The following sections describe the different input formats and testing verifications. The data inside the input files is only test data designed to exercise the code. It should NOT be interpreted in any way as OPTIMAL performance values for any of the routines. For best performance, the value of the blocksize NB should be set to the value determined by ATLAS as optimal. A good starting point is a multiple of 16 - e.g., 16, 32, 48, 64.

The test programs for the routines are driven by separate data files.

The number and size of the input values are limited by certain program maximums which are defined in PARAMETER statements in the main test programs. These program maximums are:

The user should modify TOTMEM to indicate the maximum amount of memory in bytes his system has available. You must remember to leave room in memory for the operating system, the BLACS buffer, etc. For example, for PVM, the parameters we use are TOTMEM=2,000,000, and the length of a DOUBLE is 8. Some experimenting with the maximum allowable value of TOTMEM may be required. All arrays used by the factorizations, reductions, solves, and condition and error estimation are allocated out of the big array called MEM.

Please note that these parameter maximums in the test programs assume at least 2 Megabytes of memory per process. Thus, if you do not have that much space per process then you will need to reduce the size of the parameters.

For each of the test programs, the test program generates test matrices (nonsymmetric, symmetric, symmetric positive-definite, or upper Hessenberg), calls the ScaLAPACK routines in that path, and computes a solve and/or factorization and/or reduction residual error check to verify that each operation has performed correctly. The factorization residual is only calculated if the residual for the solve step exceeds the threshold value THRESH. Thus, if a user wants both checks automatically done then he should set THRESH = 0.0.

When the tests are run, each test ratio that is greater than or equal to the threshold value causes a line of information to be printed to the output file.

A table of timing information is printed in the output file containing execution times as well as megaflop rates.

After all of the tests have been completed, summary lines are printed of the form

Finished 180 tests, with the following results: 180 tests completed and passed residual checks. 0 tests completed and failed residual checks. 0 tests skipped because of illegal input values. END OF TESTS.

- Tests for the ScaLAPACK LU routines
- Tests for the ScaLAPACK Band and Tridiagonal LU routines
- Tests for the ScaLAPACK LLT routines
- Tests for the ScaLAPACK Band and Tridiagonal LLT routines
- Tests for the ScaLAPACK QR, RQ, LQ, QL, QP, and TZ routines
- Tests for the Linear Least Squares (LLS) routines
- Tests for the ScaLAPACK INV routines
- Tests for the ScaLAPACK HRD routines
- Tests for the ScaLAPACK TRD routines
- Tests for the ScaLAPACK BRD routines
- Tests for the ScaLAPACK SEP routines
- Tests for the ScaLAPACK GSEP routines
- Tests for the ScaLAPACK NEP routines
- Tests for the ScaLAPACK EVC routines
- Tests for the ScaLAPACK SVD routines