diff options
author | Pjotr Prins | 2020-05-22 11:07:44 -0500 |
---|---|---|
committer | Pjotr Prins | 2020-05-22 11:07:44 -0500 |
commit | b309569fe9497befa008ac2d2cbc04f2e861ce76 (patch) | |
tree | 19f530a3532edfaeb25ccf4f614f21b60e3abc8c | |
parent | 8c82a8294483ffac4d8e9635376723f26a8ae27b (diff) | |
download | pangemma-b309569fe9497befa008ac2d2cbc04f2e861ce76.tar.gz |
Removing more eigenlib references
-rw-r--r-- | INSTALL.md | 9 | ||||
-rw-r--r-- | Makefile | 13 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | src/fastblas.cpp | 8 | ||||
-rw-r--r-- | src/fastopenblas.h | 4 | ||||
-rw-r--r-- | src/version.h | 8 |
6 files changed, 24 insertions, 20 deletions
@@ -17,7 +17,6 @@ dependencies: * GNU Science library (GSL) 1.x (GEMMA does not currently work with GSL >= 2). * blas/openblas * lapack -* [Eigen3 library](http://eigen.tuxfamily.org/dox/) * zlib See below for installation on Guix. @@ -51,10 +50,16 @@ using the following command To build GEMMA from source you can opt to install the build tools with GNU Guix - guix package -i make gcc linux-libre-headers gsl eigen openblas lapack glibc ld-wrapper + guix package -i make gcc linux-libre-headers gsl openblas lapack glibc ld-wrapper + +The current build container is + + guix environment -C guix --ad-hoc gcc-toolchain gdb gsl openblas zlib bash ld-wrapper perl vim ### Install from source +Note: Eigen is no longer required! + Install listed dependencies and run make -j 4 @@ -76,15 +76,9 @@ GCC_FLAGS = -DHAVE_INLINE -pthread -Wall -std=gnu++11 # extra flags GSL_INCLUDE_PATH = ifeq ($(SYS), WIN) GSL_INCLUDE_PATH = -isystemc:/MinGW/include -LC:/MinGW/lib - EIGEN_INCLUDE_PATH = ../eigen-git-mirror OPENBLAS_INCLUDE_PATH = ../OpenBLAS-v0.2.19-Win64-int32/include -L../OpenBLAS-v0.2.19-Win64-int32/lib else OPENBLAS_INCLUDE_PATH = /usr/local/opt/openblas/include - ifeq ($(SYS), OSX) - EIGEN_INCLUDE_PATH = /usr/local/include/eigen3 - else - EIGEN_INCLUDE_PATH = /usr/include/eigen3 - endif ifndef GUIX ifdef GUIX_ENVIRONMENT GUIX=$(GUIX_ENVIRONMENT) @@ -93,7 +87,6 @@ else ifdef GUIX # Effectively disable paths for GNU Guix OPENBLAS_INCLUDE_PATH = . - # EIGEN_INCLUDE_PATH = $(GUIX)/include/eigen3 # RPATH = -Xlinker --rpath=$(GUIX)/lib ifdef FORCE_STATIC LIBS = -L$(GUIX)/lib @@ -118,7 +111,7 @@ else endif ifeq ($(CPP), clang++) - GCC_FLAGS=-std=c++11 -isystem$(OPENBLAS_INCLUDE_PATH) -isystem$(EIGEN_INCLUDE_PATH) + GCC_FLAGS=-std=c++11 -isystem$(OPENBLAS_INCLUDE_PATH) ifdef GUIX CPPFLAGS += -I$(GUIX)/include/c++ -I$(GUIX)/include/c++/x86_64-unknown-linux-gnu endif @@ -147,9 +140,9 @@ debug check fast-check: CPPFLAGS += -g $(GCC_FLAGS) $(GSL_INCLUDE_PATH) -Icontri profile: CPPFLAGS += -pg -release: CPPFLAGS += -DNDEBUG -O3 $(GCC_FLAGS) $(GSL_INCLUDE_PATH) -isystem$(EIGEN_INCLUDE_PATH) -Icontrib/catch-1.9.7 -Isrc +release: CPPFLAGS += -DNDEBUG -O3 $(GCC_FLAGS) $(GSL_INCLUDE_PATH) -Icontrib/catch-1.9.7 -Isrc -static: CPPFLAGS += -DNDEBUG -O3 $(GCC_FLAGS) $(GSL_INCLUDE_PATH) -isystem$(EIGEN_INCLUDE_PATH) -Icontrib/catch-1.9.7 -Isrc +static: CPPFLAGS += -DNDEBUG -O3 $(GCC_FLAGS) $(GSL_INCLUDE_PATH) -Icontrib/catch-1.9.7 -Isrc ifeq ($(SYS), WIN) @@ -1 +1 @@ -0.98.1 +0.98.2 diff --git a/src/fastblas.cpp b/src/fastblas.cpp index e9e38d0..42c59ee 100644 --- a/src/fastblas.cpp +++ b/src/fastblas.cpp @@ -29,6 +29,7 @@ #include "mathfunc.h" #include <string.h> #include "eigenlib.h" +#include <cblas.h> const char *FastblasTrans = "T"; const char *FastblasNoTrans = "N"; @@ -243,7 +244,12 @@ void fast_eigen_dgemm(const char *TransA, const char *TransB, const double alpha */ #include <gsl/gsl_permutation.h> -#include <gsl/gsl_linalg.h> +// #include <gsl/gsl_linalg.h> + +extern "C" { + int gsl_linalg_LU_invert(const gsl_matrix * LU, const gsl_permutation * p, gsl_matrix * inverse); + int gsl_linalg_LU_decomp(gsl_matrix * A, gsl_permutation * p, int * signum); +} void gsl_matrix_inv(gsl_matrix *m) { diff --git a/src/fastopenblas.h b/src/fastopenblas.h index 2fc743e..7f453da 100644 --- a/src/fastopenblas.h +++ b/src/fastopenblas.h @@ -25,11 +25,11 @@ #include <iostream> extern "C" { - // #include <cblas.h> // For OpenBlas / Atlas + #include <cblas.h> // For OpenBlas / Atlas } // #include "gsl/gsl_matrix.h" -void fast_cblas_dgemm(const enum CBLAS_ORDER Order, +void fast_cblas_dgemm(const enum CBLAS_ORDER , const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB, const size_t M, diff --git a/src/version.h b/src/version.h index cfb3ba9..d413933 100644 --- a/src/version.h +++ b/src/version.h @@ -1,5 +1,5 @@ // version.h generated by GEMMA scripts/gen_version_info.sh -#define GEMMA_VERSION "0.98.1" -#define GEMMA_DATE "2018-12-10" -#define GEMMA_YEAR "2018" -#define GEMMA_PROFILE "" +#define GEMMA_VERSION "0.98.2" +#define GEMMA_DATE "2020-05-22" +#define GEMMA_YEAR "2020" +#define GEMMA_PROFILE "/gnu/store/h9xwdvc7kqx7cvpvs6iascfdw5zgzhyd-profile" |