Skip to content
Snippets Groups Projects
Commit 5c917d34 authored by Mulas, Giacomo's avatar Mulas, Giacomo
Browse files

clean up the various options of lapack vs mkl vs internal lucin, making sure it works.

parent a7749125
No related branches found
No related tags found
No related merge requests found
...@@ -9,8 +9,8 @@ override BUILDDIR_NPTM=$(BUILDDIR)/libnptm ...@@ -9,8 +9,8 @@ override BUILDDIR_NPTM=$(BUILDDIR)/libnptm
endif endif
ifndef LIBNPTM ifndef LIBNPTM
# choose one of the two following lines, depending on whether a static or dynamic libnptm is wanted # choose one of the two following lines, depending on whether a static or dynamic libnptm is wanted
override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a #override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a
#override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.so override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.so
endif endif
DOCSDIR=$(SRCDIR)/../doc DOCSDIR=$(SRCDIR)/../doc
......
...@@ -12,8 +12,8 @@ override BUILDDIR_NPTM=$(BUILDDIR)/libnptm ...@@ -12,8 +12,8 @@ override BUILDDIR_NPTM=$(BUILDDIR)/libnptm
endif endif
ifndef LIBNPTM ifndef LIBNPTM
# choose one of the two following lines, depending on whether a static or dynamic libnptm is wanted # choose one of the two following lines, depending on whether a static or dynamic libnptm is wanted
override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a #override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a
#override LIBNPTM=$(BUILDDIR_NPTM)/libnpTm.so override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.so
endif endif
include ../make.inc include ../make.inc
......
...@@ -32,10 +32,12 @@ ...@@ -32,10 +32,12 @@
#include "../include/TransitionMatrix.h" #include "../include/TransitionMatrix.h"
#endif #endif
#ifdef USE_LAPACK
#ifndef INCLUDE_LAPACK_CALLS_H_ #ifndef INCLUDE_LAPACK_CALLS_H_
#include "lapacke.h" #include "lapacke.h"
#include "../include/lapack_calls.h" #include "../include/lapack_calls.h"
#endif #endif
#endif
#ifndef INCLUDE_ALGEBRAIC_H_ #ifndef INCLUDE_ALGEBRAIC_H_
#include "../include/algebraic.h" #include "../include/algebraic.h"
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include "../include/lapack_calls.h" #include "../include/lapack_calls.h"
#endif #endif
#ifdef USE_LAPACK
void zinvert(std::complex<double> **mat, lapack_int n, int &jer) { void zinvert(std::complex<double> **mat, lapack_int n, int &jer) {
jer = 0; jer = 0;
__complex__ double *arr = new __complex__ double[n * n]; __complex__ double *arr = new __complex__ double[n * n];
...@@ -30,3 +31,4 @@ void zinvert(std::complex<double> **mat, lapack_int n, int &jer) { ...@@ -30,3 +31,4 @@ void zinvert(std::complex<double> **mat, lapack_int n, int &jer) {
delete[] IPIV; delete[] IPIV;
delete[] arr; delete[] arr;
} }
#endif
...@@ -38,11 +38,48 @@ ifndef HDF5_INCLUDE ...@@ -38,11 +38,48 @@ ifndef HDF5_INCLUDE
override HDF5_INCLUDE=/usr/include/hdf5/serial override HDF5_INCLUDE=/usr/include/hdf5/serial
endif endif
# define (outside) USE_LAPACK for lapacke support, LAPACK_ILP64 for ilp64 interface, MKL_ILP64 the same if using MKL implementation
ifdef USE_LAPACK
ifndef LAPACK_ILP64
override LAPACK_ILP64=1
endif
# define (outside) USE_MKL to use the MKL implementation of lapacke
ifdef USE_MKL
ifndef MKL_ILP64
override MKL_ILP64=1
endif
ifndef LAPACK_INCLUDE
# this is for the MKL implementation
override LAPACK_INCLUDE=$(MKLROOT)/include
endif
ifndef LAPACK_LDFLAGS
# this is for the MKL implementation
override LAPACK_LDFLAGS=-L$(MKLROOT)/lib -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl
endif
# the next else refers to USE_MKL
else
ifndef LAPACK_INCLUDE
# this is for standard "vanilla" lapacke64
override LAPACK_INCLUDE=/usr/include
endif
ifndef LAPACK_LDFLAGS
# this is for standard "vanilla" lapacke64
override LAPACK_LDFLAGS=-llapacke64
endif
# the next endif is for USE_MKL
endif
#the next endif is for USE_LAPACK
endif
# CXXFLAGS defines the default compilation options for the C++ compiler # CXXFLAGS defines the default compilation options for the C++ compiler
ifndef CXXFLAGS ifndef CXXFLAGS
override CXXFLAGS=-O3 -ggdb -pg -coverage -DLAPACK_ILP64 -I$(HDF5_INCLUDE) ifdef USE_LAPACK
override CXXFLAGS=-O3 -ggdb -pg -coverage -I$(HDF5_INCLUDE) -I$(LAPACK_INCLUDE)
else
override CXXFLAGS=-O3 -ggdb -pg -coverage -I$(HDF5_INCLUDE)
#override CXXFLAGS=-O3 -I$(HDF5_INCLUDE) #override CXXFLAGS=-O3 -I$(HDF5_INCLUDE)
endif endif
endif
# HDF5_LIB defines the default path to the HDF5 libraries to use # HDF5_LIB defines the default path to the HDF5 libraries to use
# CXXLDFLAGS defines the default linker flags to use for C++ codes # CXXLDFLAGS defines the default linker flags to use for C++ codes
...@@ -50,7 +87,7 @@ ifndef CXXLDFLAGS ...@@ -50,7 +87,7 @@ ifndef CXXLDFLAGS
ifndef HDF5_LIB ifndef HDF5_LIB
override HDF5_LIB=/usr/lib/x86_64-linux-gnu/hdf5/serial override HDF5_LIB=/usr/lib/x86_64-linux-gnu/hdf5/serial
endif endif
override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5 -llapacke64 $(LDFLAGS) override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5 $(LAPACK_LDFLAGS) $(LDFLAGS)
#else #else
#override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5 $(CXXLDFLAGS) #override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5 $(CXXLDFLAGS)
endif endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment