Commit f8fafe51 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Merge branch 'link_with_lapacke' of...

Merge branch 'link_with_lapacke' of https://www.ict.inaf.it/gitlab/giacomo.mulas/np_tmcode into link_with_lapacke
Update the container configurations.
parents f2cee38f d15d8565
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -9,8 +9,8 @@ override BUILDDIR_NPTM=$(BUILDDIR)/libnptm
endif
ifndef LIBNPTM
# 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.so
#override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a
override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.so
endif
DOCSDIR=$(SRCDIR)/../doc

+2 −2
Original line number Diff line number Diff line
@@ -12,8 +12,8 @@ override BUILDDIR_NPTM=$(BUILDDIR)/libnptm
endif
ifndef LIBNPTM
# 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.so
#override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a
override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.so
endif

include ../make.inc
+5 −3
Original line number Diff line number Diff line
@@ -32,18 +32,20 @@
#include "../include/TransitionMatrix.h"
#endif

#ifdef USE_LAPACK
#ifndef INCLUDE_LAPACK_CALLS_H_
#include "lapacke.h"
#include "../include/lapack_calls.h"
#endif
#endif

#ifndef INCLUDE_ALGEBRAIC_H_
#include "../include/algebraic.h"
#endif

#ifdef LAPACK_ILP64
#define USE_LAPACK
#endif
//#ifdef LAPACK_ILP64
//#define USE_LAPACK
//#endif

using namespace std;

+2 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@
#include "../include/lapack_calls.h"
#endif

#ifdef USE_LAPACK
void zinvert(std::complex<double> **mat, lapack_int n, int &jer) {
  jer = 0;
  __complex__ double *arr = new __complex__ double[n * n];
@@ -30,3 +31,4 @@ void zinvert(std::complex<double> **mat, lapack_int n, int &jer) {
  delete[] IPIV;
  delete[] arr;
}
#endif
+45 −5
Original line number Diff line number Diff line
@@ -38,10 +38,48 @@ ifndef HDF5_INCLUDE
override HDF5_INCLUDE=/usr/include/hdf5/serial
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
ifndef CXXFLAGS
override CXXFLAGS=-O3 -ggdb -pg -coverage -DLAPACK_ILP64 -I$(HDF5_INCLUDE)
#override CXXFLAGS=-O3 -I$(HDF5_INCLUDE)
override CXXFLAGS=-O3 -ggdb -pg -coverage -I$(HDF5_INCLUDE)
ifdef USE_LAPACK
override CXXFLAGS+= -DUSE_LAPACK -DMKL_ILP64 -DLAPACK_ILP64 
ifdef USE_MKL
override CXXFLAGS+= -DMKL_ILP64 -I$(MKLROOT)/include
endif
endif
endif

# HDF5_LIB defines the default path to the HDF5 libraries to use
@@ -50,9 +88,11 @@ ifndef CXXLDFLAGS
ifndef HDF5_LIB
override HDF5_LIB=/usr/lib/x86_64-linux-gnu/hdf5/serial
endif
override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5 -llapacke64 $(LDFLAGS)
#else
#override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5 $(CXXLDFLAGS)
override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5
ifdef USE_LAPACK
override CXXLDFLAGS+= $(LAPACK_LDFLAGS)
endif
override CXXLDFLAGS+= $(LDFLAGS)
endif

#SOFLAGS defines the additional flags for the c++ compiler to create a shared object file