1# Author: Alfio Lazzaro, alazzaro@cray.com (2013)
2
3#
4# target compiler... these are the options used for building the library.
5# They should be aggessive enough to e.g. perform vectorization for the specific CPU (e.g. -ftree-vectorize -march=native),
6# and allow some flexibility in reordering floating point expressions (-ffast-math).
7# Higher level optimisation (in particular loop nest optimization) should not be used.
8#
9target_compile="gfortran -O2 -funroll-loops -ffast-math -ftree-vectorize -march=native -cpp -finline-functions -fopenmp"
10
11#
12# target dgemm link options... these are the options needed to link blas (e.g. -lblas)
13# blas is used as a fall back option for sizes not included in the library or in those cases where it is faster
14# the same blas library should thus also be used when libsmm is linked.
15#
16blas_linking="-L${INTEL_PATH}/mkl/lib/intel64 -Wl,--start-group -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group"
17
18#
19# host compiler... this is used only to compile a few tools needed to build
20# the library. The library itself is not compiled this way.
21# This compiler needs to be able to deal with some Fortran2003 constructs.
22#
23host_compile="gfortran -O2"
24