file SPLAS_UG for A User Guide This user guide provides the basic information on how to call the individual SPLAS subroutines in a computer program. lang ASCII English text
file Makefile for Compiling the library and runing the library test suites. lang make-GNU syntax
file SPLA_TEST.x (created after the compilation of the package) for Run the test suit lang binary executable
file defaults for Run test suit 1 doing what? lang ksh syntax
file accuracy.f90 for Fortran file containing the definitions necessary to set up the accuracy of parameters and the precision. lang Fortran 90/95
file spla_types.f90 for Definition of the variables (sparse vectors and matrices) used in the routines. lang Fortran 90/95
file spla_tools.f90 for Contains tools to be used in the splas library routines lang Fortran 90/95
file spla.f90 for Contain the main routines of the SPLAS library lang Fortran 90/95
file spla_test.f90 for Contain the main routines of the SPLAS library lang Fortran 90/95
file timer.f90 for Contain the Timing routines lang Fortran 90/95
The SPLAS subroutines are modest in memory consumption as long as no full matrix is required (e.g. in a sparse*full matrix subroutine). The test suit, however, requires full matrix support and hence significant memory. For timing purposes, the reference calculations can be switched off.
Compilation requires a Fortran-90 compiler, including support for some Fortran-95 extensions. For shared-memory parallel execution, OpenMP 2.0 support is required. The testing procedure requires a local BLAS installation, if this is not available you need to obtain the dgemm.f subroutine. Compilation was tested with Intel Fortran 11.0 EM64T Build 20090318, with g95 V0.91 and with gfortran, based on gcc 4.3.1. 1. Edit the F90 and LIBS entries in Makefile, to suit your compiler 2. Say "make" 3. Watch the fireworks
The test program (SPLA_TEST.x) expects the default file, specifying some parameters. A sample file is included in the package, which also describes the parameters in detail. At runtime, the program asks for an integer number, which gives the matrix dimension in units of 1000. For parallel excution using OpenMP it is strongly recommended to use guided schedule for parallel loops. The procedure for requesting guided schedule should be documented in the compiler manual. On Unix systems, on of the commands (depending on your shell) OMP_SCHEDULE=GUIDED ; export OMP_SCHEDULE setenv OMP_SCHEDULE GUIDED is likely to be the correct incantation.