From b120c0fd6bfefb2836463192635c1f9239a9c6ea Mon Sep 17 00:00:00 2001 From: Elmar Peise Date: Tue, 1 Mar 2016 15:53:06 +0100 Subject: [PATCH] updated documentation --- README.md | 5 +++++ config.md | 15 ++++++++++----- coverage.md | 1 + examples/README.md | 1 + 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 7ebc8db..fd2ebe4 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,13 @@ integrates effortlessly into existing application codes. ReLAPACK's routines not only outperform the reference LAPACK but also improve upon the performance of tuned implementations, such as OpenBLAS and MKL. + Coverage -------- For a detailed list of covered operations and an overview of operations to which recursion is not efficiently applicable, see [coverage.md](coverage.md). + Installation ------------ To compile with the default configuration, simply run `make` to create the @@ -26,10 +28,12 @@ and machine specific implementations of these libraries, which are commonly provided by hardware vendors or available as open source (e.g., [OpenBLAS](http://www.openblas.net/)). + Configuration ------------- For an overview of the configuration options see [config.md](config.md). + Testing ------- ReLAPACK's test suite compares its routines numerically with LAPACK's @@ -37,6 +41,7 @@ counterparts. To set up the test located int `test/` you need to specify link flags for BLAS and LAPACK (version 3.5.0 or newer) in `make.inc`; then `make test` runs the tests. For details, see [test/README.md](test/README.md). + Examples -------- Since ReLAPACK replaces parts of LAPACK, any LAPACK example involving the diff --git a/config.md b/config.md index 32770b5..feae0c2 100644 --- a/config.md +++ b/config.md @@ -1,13 +1,16 @@ RELAPACK Configuration ====================== + ReLAPACK has two configuration files: `make.inc`, which is included by the Makefile, and `config.h` which is included in the source files. + Build and Testing Environment ----------------------------- The build environment (compilers and flags) and the test configuration (linker flags for BLAS and LAPACK, and the test matrix size) are specified in `make.inc` + Routine Selection ----------------- By default, ReLAPACK provides each of its LAPACK-based recursive algorithms @@ -22,6 +25,7 @@ LAPACK routines. By setting `RELAPACK_AS_LAPACK` to 0 in `config.h`, they will receive the prefix `RELAPACK_`; e.g. the LU decomposition `dgetrf` would become `RELAPACK_dgetrf`. + Crossover Size -------------- The crossover size determines below which matrix sizes ReLAPACK's recursive @@ -29,6 +33,7 @@ algorithms switch to LAPACK's unblocked routines to avoid tiny BLAS Level 3 routines. The crossover size is set in `config.h` and can be chosen either globally for the entire library, by operation, or individually by routine. + Allowing Temporary Buffers -------------------------- Two of ReLAPACK's routines make use of temporary buffers, which are allocated @@ -50,10 +55,10 @@ affected routines are: redundant computations. It thereby performs about 30% less FLOPs than LAPACK. + FORTRAN symbol names -------------------- -ReLAPACK not only uses FORTRAN routines internally (small modifications of -original LAPACK routines to enable recursion) but is also commonly linked to -BLAS and LAPACK with standard FORTRAN interfaces. Since FORTRAN compilers -commonly append an underscore to their symbol names, ReLAPACK has configuration -switches in `config.h` to adjust the library's symbol names. +ReLAPACK is commonly linked to +BLAS and LAPACK with standard FORTRAN interfaces. Since these libraries usually +have an underscore to their symbol names, ReLAPACK has configuration switches in +`config.h` to adjust the corresponding routine names. diff --git a/coverage.md b/coverage.md index 8e10a37..665a6ef 100644 --- a/coverage.md +++ b/coverage.md @@ -1,5 +1,6 @@ Coverage of ReLAPACK ==================== + This file lists all LAPACK compute routines that are covered by recursive algorithms in ReLAPACK, it also lists all of LAPACK's blocked algorithms which are not (yet) part of ReLAPACK. diff --git a/examples/README.md b/examples/README.md index 8a78f05..8922322 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,5 +1,6 @@ ReLAPACK Examples ================= + Since ReLAPACK replaces parts of LAPACK, any LAPACK example involving the covered routines applies directly to ReLAPACK.