From a2e871270538bb187865c9f00d8aa8f4e817e131 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sat, 14 Oct 2017 06:12:41 +0000 Subject: Note on OpenBlas build --- INSTALL.md | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'INSTALL.md') diff --git a/INSTALL.md b/INSTALL.md index dc03a71..19ae290 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -106,19 +106,19 @@ or ### OpenBlas Linking against a built-from-source OpenBlas is a first optimization -step because it will optimize code for the local architecture. When -you check the output .log file of GEMMA after a run, it will tell you -how the linked-in OpenBlas was compiled. +step because it will optimize code for the local architecture (on my +workstation it easily doubles speed). When you check the output .log +file of GEMMA after a run, it will tell you how the linked-in OpenBlas +was compiled. To link a new version, compile OpenBlas as per [instructions](http://www.openblas.net/). You can start with the default: make -j 4 -or play with the switches (note NO_AFFINITY may be needed in a future -version) +or play with the switches - make USE_THREAD=1 NUM_THREADS=16 NO_AFFINITY=1 -j 4 + make USE_THREAD=1 NUM_THREADS=16 -j 4 rendering for example: @@ -131,7 +131,6 @@ rendering for example: To install the library, you can run "make PREFIX=/path/to/your/installation install". - This generates a static library which you can link using the full path with using the GEMMA Makefile: @@ -139,8 +138,4 @@ with using the GEMMA Makefile: make EIGEN_INCLUDE_PATH=~/.guix-profile/include/eigen3 LIBS="~/tmp/OpenBLAS/libopenblas_haswellp-r0.3.0.dev.a -lgsl -lgslcblas -pthread -lz -llapack" WITH_OPENBLAS=1 -j 4 unittests -Batch of 1000: - -real 4m24.923s -user 4m33.576s -sys 0m11.004s +NOTE: we should make this easier. -- cgit v1.2.3