Installing LAPACK 90/95 on CRAY machines

Ed Anderson
Lockheed Martin Technical Services
Anderson.Edward@epa.gov
September 26, 2000

I have successfully installed LAPACK 90/95 on a CRAY T3E and CRAY C90. In the process, I had to correct some bugs in LAPACK, as well as some bugs in the LAPACK 95 test package. The LAPACK bugs were mostly in the workspace calculations (new to LAPACK 3.0), which had not been tested previously. The fixes to LAPACK are included in my new LAPACK 3 patch file and documented in the online report, Installing LAPACK 3 on CRAY machines. The LAPACK95 test package uses many parts of the LAPACK test package, and the modifications on this page assume you have already installed LAPACK 3.0 with my patches.

Here is a brief description of the changes recommended to compile and test the "single" and "complex" paths of the LAPACK 95 package for a CRAY:

LAPACK95:

README.patch My instructions for compiling the package
make.pvp Specify include file options for a CRAY PVP
make.t3e Specify include file options for a CRAY T3E
If you normally compile with -dp for a CRAY, you should specify -dp for OPTS0 (the options used to compile your Fortran 90 modules must match the options used when compiling procedures that use them).

LAPACK95/SRC:

la_auxmod.f90 Remove the definition of LSAME, which is in libsci
la_cgelsd.f90 Change "DOUBLE PRECISION" declaration to "REAL(WP)"
la_cgelsd1.f90 Change "DOUBLE PRECISION" declaration to "REAL(WP)"
la_cgesvd.f90 Initialize NN
la_sgeevx.f90 Initialize LWORK
la_sgelsd.f90 Change "DOUBLE PRECISION" declaration to "REAL(WP)"
la_sgelsd1.f90 Change "DOUBLE PRECISION" declaration to "REAL(WP)"
makefile Update the makefile

LAPACK95/TESTING:

la_alasvm.f Always print the summary line
la_aux_aa01.f90 Remove some extraneous output
la_cchkaa.f Adjust the arguments to CCHKQP and CCHKTZ
la_cdrgsx.f Fix spelling of "diaongal"
la_cdrvst.f Add LWORK to the CHET21 calls
la_cerred.f Fix the count, fix a mismatched FORMAT statement, and clean up the indenting
la_cerrge.f Don't test error exits for CGETF2 or CGBTF2
la_cerrst.f Replace 0.0D0 with 0.0
la_schkaa.f Adjust the arguments to SCHKQP and SCHKTZ
la_schkge.f Change call to DLACPY to SLACPY
la_sdrgsx.f Fix spelling of "diaongal"
la_sdrvls.f Don't change the value of NOUT
la_sdrvst.f Add LWORK to the SSYT21 calls
la_serred.f Fix the count, fix a mismatched FORMAT statement, and clean up the indenting
la_serrge.f Don't test error exits for SGETF2 or SGBTF2
la_serrst.f Replace 0.0D0 with 0.0
makefile Update makefile
Remove the unused routines cheevr.f, chpgvd.f, claic1.f, dgeesx.f, dgehrd.f, dlangb.f, dlascl.f, zhbgvd.f, zheevr.f, zhpgvd.f, zlaic1.f, and zlartg.f, all of which are provided in LAPACK. Add the subroutine slasum.f from LAPACK/TESTING/EIG.

The following patch file will apply all of the above changes to the LAPACK95 directory:

LAPACK95patch_092600.tar.gz

Maintained by Ed Anderson. Please send comments to eanderso@cs.utk.edu.
Created September 22, 2000. Last modified September 26, 2000.