forked from ITensor/ITensor
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathoptions.mk.sample
More file actions
77 lines (61 loc) · 2.45 KB
/
Copy pathoptions.mk.sample
File metadata and controls
77 lines (61 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
### User Configurable Options
## Set which compiler to use:
##GNU GCC compiler
CCCOM=g++ -m64
##Clang compiler (good to use on Mac OS)
#CCCOM=clang++
##Intel C++ compiler (good to use with Intel MKL if available)
#CCCOM=icpc
## Location of boost (this folder should have another one called 'boost' inside it)
BOOST_DIR=$(HOME)/boost
## Flags to give the compiler for "release mode"
OPTIMIZATIONS=-O2 -DNDEBUG -Wall -DBOOST_DISABLE_ASSERTS
## Flags to give the compiler for "debug mode"
DEBUGFLAGS=-DDEBUG -DMATRIXBOUNDS -DITENSOR_USE_AT -DBOUNDS -g -Wall
###
###BLAS/LAPACK Related Options
###
##
##For a recent Mac OSX system (include flags intentionally left blank)
##
PLATFORM=macos
BLAS_LAPACK_LIBFLAGS=-framework Accelerate
BLAS_LAPACK_INCLUDEFLAGS=
##
##Example using a C interface to LAPACK on GNU/LINUX systems
##make sure to install LAPACKE development header needed by lapack_wrap.h
##
#PLATFORM=lapack
#BLAS_LAPACK_INCLUDEFLAGS=-I/usr/include
#BLAS_LAPACK_LIBFLAGS=-L/usr/lib -lblas -llapack
##
##Example using the Intel MKL library
##
#PLATFORM=mkl
## MKL example for GNU/Linux systems (recommended with Intel C++ compiler icpc for performance on Intel CPUs)
#BLAS_LAPACK_INCLUDEFLAGS=-I/opt/intel/composer_xe_2013_sp1.1.106/mkl/include
#BLAS_LAPACK_LIBFLAGS=-L/opt/intel/composer_xe_2013_sp1.1.106/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_rt -lmkl_core -liomp5 -lpthread
## MKL example for other UNIX flavours
#BLAS_LAPACK_INCLUDEFLAGS=-I/sopt/intel/mkl/10.1.0.015/include
#BLAS_LAPACK_LIBFLAGS=-L/sopt/intel/mkl/10.1.0.015/lib/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lgfortran -lpthread
##
##Example using the AMD ACML library
##
#PLATFORM=acml
#BLAS_LAPACK_INCLUDEFLAGS=-I/opt/acml5.1.0/gfortran64/include
#BLAS_LAPACK_LIBFLAGS=-L/opt/acml5.1.0/gfortran64/lib -lacml -lgfortran -lpthread
###
###End BLAS/LAPACK Related Options
###
###Other variables defined for convenience
PREFIX=$(THIS_DIR)
ITENSOR_LIBDIR=$(PREFIX)/lib
ITENSOR_INCLUDEDIR=$(PREFIX)/include
ITENSOR_LIBNAMES=itensor matrix utilities
ITENSOR_LIBFLAGS=$(patsubst %,-l%, $(ITENSOR_LIBNAMES))
ITENSOR_LIBFLAGS+= $(BLAS_LAPACK_LIBFLAGS)
ITENSOR_LIBGFLAGS=$(patsubst %,-l%-g, $(ITENSOR_LIBNAMES))
ITENSOR_LIBGFLAGS+= $(BLAS_LAPACK_LIBFLAGS)
ITENSOR_LIBS=$(patsubst %,$(ITENSOR_LIBDIR)/lib%.a, $(ITENSOR_LIBNAMES))
ITENSOR_GLIBS=$(patsubst %,$(ITENSOR_LIBDIR)/lib%-g.a, $(ITENSOR_LIBNAMES))
ITENSOR_INCLUDEFLAGS=-I$(ITENSOR_INCLUDEDIR) -I$(BOOST_DIR) $(BLAS_LAPACK_INCLUDEFLAGS)