next up previous contents
Next: Send the Results to Up: Run the LAPACK Timing Previous: Timing the BLAS   Contents

Timing the Eigensystem Routines

Four input files are provided in each data type for timing the eigensystem routines, one for the generalized nonsymmetric eigenvalue problem, one for the nonsymmetric eigenvalue problem, one for the symmetric eigenvalue problem and generalized symmetric eigenvalue problem, and one for the singular value decomposition. For the REAL version, the small data sets are SGEPTIMD, SNEPTIMD, SSEPTIMD, and SSVDTIMD and the large data sets are SGEPTM2D, SNEPTM2D, SSEPTM2D, and SSVDTM2D. Each of the four input files reads a different set of parameters and the format of the input is indicated by a 3-character code on the first line.

The timing program for eigenvalue/singular value routines accumulates the operation count as the routines are executing using special instrumented versions of the LAPACK routines. The first step in compiling the timing program is therefore to make a library of the instrumented routines.

a)
Compile the files xEIGSRCF and create an object library. If you have compiled either the S or C version, you must also compile and include the file SCIGSRCF, and if you have compiled either the D or Z version, you must also compile and include the file DZIGSRCF. If you did not compile the file ALLBLASF and include it in your BLAS library as described in Section A.3, you must compile it now and include it in the instrumented LAPACK library.

b)
Compile the files xEIGTIMF with AEIGTIMF and link them to your test matrix generator library, the instrumented LAPACK library created in the previous step, your LAPACK library from Section A.5, and your BLAS library in that order (on some systems you may get unsatisfied external references if you specify the libraries in the wrong order). If you have compiled either the S or C version, you must also compile and include the file SCIGTIMF, and if you have compiled either the D or Z version, you must also compile and include the file DZIGTIMF.

c)
Make any necessary modifications to the input files. You may need to set the minimum time a subroutine will be timed to a positive value, or to restrict the number of tests if you are using a computer with performance in between that of a workstation and that of a supercomputer. Instead of decreasing the matrix dimensions to reduce the time, it would be better to reduce the number of matrix types to be timed, since the performance varies more with the matrix size than with the type. For example, for the nonsymmetric eigenvalue routines, you could use only one matrix of type 4 instead of four matrices of types 1, 3, 4, and 6. See Section 7 for further details.

Associate the appropriate input file with Fortran unit number 5.

d)
The output file is written to Fortran unit number 6. Associate a suitably named file with this unit number (e.g., SGEPTIM.OUT, SNEPTIM.OUT, SSEPTIM.OUT, and SSVDTIM.OUT for the four runs of the REAL version).

e)
Run the programs in each data type you are using with the four data sets.


next up previous contents
Next: Send the Results to Up: Run the LAPACK Timing Previous: Timing the BLAS   Contents
Susan Blackford 2001-08-13