3 ifeq ($(USE_THREAD), 0)
12 ifeq ($(CORE), POWER10)
13 ifneq ($(C_COMPILER), PGI)
14 CCOMMON_OPT += -Ofast -mcpu=power10 -mtune=power10 -mvsx -fno-fast-math
15 ifeq ($(F_COMPILER), IBM)
16 FCOMMON_OPT += -O2 -qrecur -qnosave
18 FCOMMON_OPT += -O2 -frecursive -mcpu=power10 -mtune=power10 -fno-fast-math
23 ifeq ($(CORE), POWER9)
24 ifneq ($(C_COMPILER), PGI)
25 CCOMMON_OPT += -Ofast -mvsx -fno-fast-math
26 ifeq ($(C_COMPILER), GCC)
27 ifneq ($(GCCVERSIONGT4), 1)
28 $(warning your compiler is too old to fully support POWER9, getting a newer version of gcc is recommended)
29 CCOMMON_OPT += -mcpu=power8 -mtune=power8
31 CCOMMON_OPT += -mcpu=power9 -mtune=power9
34 CCOMMON_OPT += -mcpu=power9 -mtune=power9
37 CCOMMON_OPT += -fast -Mvect=simd -Mcache_align
39 ifneq ($(F_COMPILER), PGI)
40 ifeq ($(F_COMPILER), IBM)
41 FCOMMON_OPT += -O2 -qrecur -qnosave
43 FCOMMON_OPT += -O2 -frecursive -fno-fast-math
45 ifeq ($(C_COMPILER), GCC)
46 ifneq ($(GCCVERSIONGT4), 1)
47 $(warning your compiler is too old to fully support POWER9, getting a newer version of gcc is recommended)
48 FCOMMON_OPT += -mcpu=power8 -mtune=power8
50 FCOMMON_OPT += -mcpu=power9 -mtune=power9
53 FCOMMON_OPT += -mcpu=power9 -mtune=power9
56 FCOMMON_OPT += -O2 -Mrecursive
60 ifeq ($(CORE), POWER8)
61 ifneq ($(C_COMPILER), PGI)
62 CCOMMON_OPT += -Ofast -mcpu=power8 -mtune=power8 -mvsx -fno-fast-math
64 CCOMMON_OPT += -fast -Mvect=simd -Mcache_align
66 ifneq ($(F_COMPILER), PGI)
68 ifeq ($(F_COMPILER), IBM)
69 FCOMMON_OPT += -O2 -qrecur -qnosave
71 FCOMMON_OPT += -O1 -frecursive -mcpu=power8 -mtune=power8 -fno-fast-math
74 FCOMMON_OPT += -O2 -frecursive -mcpu=power8 -mtune=power8 -fno-fast-math
77 FCOMMON_OPT += -O2 -Mrecursive
81 ifeq ($(USE_OPENMP), 1)
82 ifneq ($(C_COMPILER), PGI)
83 CCOMMON_OPT += -DUSE_OPENMP -fopenmp
85 CCOMMON_OPT += -DUSE_OPENMP -mp
87 ifneq ($(F_COMPILER), PGI)
88 FCOMMON_OPT += -DUSE_OPENMP -fopenmp
90 FCOMMON_OPT += -DUSE_OPENMP -mp
94 # workaround for C->FORTRAN ABI violation in LAPACKE
95 ifeq ($(F_COMPILER), GFORTRAN)
96 FCOMMON_OPT += -fno-optimize-sibling-calls
99 FLAMEPATH = $(HOME)/flame/lib
101 #ifeq ($(CORE), CELL)
102 #CELL_SDK_ROOT = /opt/IBM/cell-sdk-1.1/sysroot/usr
107 ifeq ($(OSNAME), Linux)
109 # COMPILER_PREFIX = powerpc64-linux-
111 # COMPILER_PREFIX = powerpc-linux-
115 #Either uncomment below line or run make with `USE_MASS=1` to enable support of MASS library
118 ifeq ($(USE_MASS), 1)
119 # Path to MASS libs, change it if the libs are installed at any other location
120 MASSPATH = /opt/ibm/xlmass/8.1.5/lib
121 COMMON_OPT += -mveclibabi=mass -ftree-vectorize -funsafe-math-optimizations -DUSE_MASS
122 EXTRALIB += -L$(MASSPATH) -lmass -lmassvp8 -lmass_simdp8
128 ifeq ($(OSNAME), AIX)
129 CCOMMON_OPT += -mpowerpc64 -maix64
130 ifeq ($(COMPILER_F77), g77)
131 FCOMMON_OPT += -mpowerpc64 -maix64
133 ifeq ($(F_COMPILER), GFORTRAN)
134 FCOMMON_OPT += -mpowerpc64 -maix64
136 ifeq ($(COMPILER_F77), xlf)
143 ifeq ($(OSNAME), AIX)
144 CCOMMON_OPT += -Wa,-a32
150 # CCOMMON_OPT += -maltivec -mabi=altivec
152 LIBFLAME = -L$(FLAMEPATH) -llapack2flame -lflame-lapack -lflame-base $(LIBS)
154 ifeq ($(OSNAME), Darwin)
155 CCOMMON_OPT += -force_cpusubtype_ALL
160 ifeq ($(OSNAME), Linux)
161 ESSLPATH = -L/opt/ibmcmp/lib -L/opt/ibmcmp/xlf/11.1/lib -Wl,-rpath,/opt/ibmcmp/lib -Wl,-rpath,/opt/ibmcmp/xlf/11.1/lib -lxlf90_r -lxlomp_ser -lxlfmath -lxl -lpthread
167 LIBVECLIB = -framework VecLib
169 LIBATLAS = -L/usr/lib/atlas3.7.11 -lf77blas -latlas -lg2c -lm
170 LIBESSL = -lessl $(ESSLPATH) ../../level1/others/libmisc.a -lm
172 LIBATLAS = -L/usr/lib/atlas3.7.11p -lptf77blas -latlas -lm -lpthread
173 LIBESSL = -lesslsmp $(ESSLPATH) ../../level1/others/libmisc.a -lm
176 ifeq ($(OSNAME), Linux)
177 ESSLPATH = -L/opt/ibmcmp/lib64 -Wl,-rpath,/opt/ibmcmp/lib64 -L/opt/ibmcmp/xlf/11.1/lib64 -Wl,-rpath,/opt/ibmcmp/xlf/11.1/lib64 -lxlf90_r -lxlomp_ser
182 LIBVECLIB = /System/Library/Frameworks/vecLib.framework/Versions/Current/vecLib
185 LIBATLAS = -L/usr/lib64/atlas3.7.11 -lf77blas -latlas -lg2c -lm
186 LIBESSL = -lessl $(ESSLPATH) -lm
188 LIBATLAS = -L/usr/lib64/atlas3.7.11p -lptf77blas -latlas -lm -lpthread
189 LIBESSL = -lesslsmp $(ESSLPATH) -lxlsmp -lm