1ReLAPACK 2======== 3 4[![Build Status](https://travis-ci.org/HPAC/ReLAPACK.svg?branch=master)](https://travis-ci.org/HPAC/ReLAPACK) 5 6[Recursive LAPACK Collection](https://github.com/HPAC/ReLAPACK) 7 8ReLAPACK offers a collection of recursive algorithms for many of LAPACK's 9compute kernels. Since it preserves LAPACK's established interfaces, ReLAPACK 10integrates effortlessly into existing application codes. ReLAPACK's routines 11not only outperform the reference LAPACK but also improve upon the performance 12of tuned implementations, such as OpenBLAS and MKL. 13 14 15Coverage 16-------- 17For a detailed list of covered operations and an overview of operations to which 18recursion is not efficiently applicable, see [coverage.md](coverage.md). 19 20 21Installation 22------------ 23To compile with the default configuration, simply run `make` to create the 24library `librelapack.a`. 25 26### Linking with MKL 27Note that to link with MKL, you currently need to set the flag 28`COMPLEX_FUNCTIONS_AS_ROUTINES` to `1` to avoid problems in `ctrsyl` and 29`ztrsyl`. For further configuration options see [config.md](config.md). 30 31 32### Dependencies 33ReLAPACK builds on top of [BLAS](http://www.netlib.org/blas/) and unblocked 34kernels from [LAPACK](http://www.netlib.org/lapack/). There are many optimized 35and machine specific implementations of these libraries, which are commonly 36provided by hardware vendors or available as open source (e.g., 37[OpenBLAS](http://www.openblas.net/)). 38 39 40Testing 41------- 42ReLAPACK's test suite compares its routines numerically with LAPACK's 43counterparts. To set up the tests (located int `test/`) you need to specify 44link flags for BLAS and LAPACK (version 3.5.0 or newer) in `make.inc`; then 45`make test` runs the tests. For details on the performed tests, see 46[test/README.md](test/README.md). 47 48 49Examples 50-------- 51Since ReLAPACK replaces parts of LAPACK, any LAPACK example involving the 52covered routines applies directly to ReLAPACK. A few separate examples are 53given in `examples/`. For details, see [examples/README.md](examples/README.md). 54 55 56Citing 57------ 58When referencing ReLAPACK, please cite the preprint of the paper 59[Recursive Algorithms for Dense Linear Algebra: The ReLAPACK Collection](http://arxiv.org/abs/1602.06763): 60 61 @article{relapack, 62 author = {Elmar Peise and Paolo Bientinesi}, 63 title = {Recursive Algorithms for Dense Linear Algebra: The ReLAPACK Collection}, 64 journal = {CoRR}, 65 volume = {abs/1602.06763}, 66 year = {2016}, 67 url = {http://arxiv.org/abs/1602.06763}, 68 } 69