Skip to content
Snippets Groups Projects
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
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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
......
......@@ -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;
......
......@@ -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
......@@ -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
......
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