Skip to content

Commit

Permalink
updated documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
elmar-peise committed Mar 1, 2016
1 parent f58135e commit b120c0f
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 5 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -26,17 +28,20 @@ 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
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
Expand Down
15 changes: 10 additions & 5 deletions config.md
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -22,13 +25,15 @@ 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
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
Expand All @@ -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.
1 change: 1 addition & 0 deletions coverage.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
1 change: 1 addition & 0 deletions examples/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
ReLAPACK Examples
=================

Since ReLAPACK replaces parts of LAPACK, any LAPACK example involving the
covered routines applies directly to ReLAPACK.

Expand Down

0 comments on commit b120c0f

Please sign in to comment.