Created
March 20, 2014 13:43
-
-
Save jarvist/9663999 to your computer and use it in GitHub Desktop.
Working (?) flags.mk file for compiling LMF March 2014 release (http://ccpforge.cse.rl.ac.uk/gf/project/lmf/frs/?action=FrsReleaseView&release_id=355) on Federoa / Xeon with GNU libraries (removed hard coded links to Intel MKL etc.)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# On Fedora, required sudo yum install libgomp lapack lapack-devel blas blas-devel tcsh | |
# LibXC compiled & installed by hand. There's also a version in the distribution repository. | |
# | |
# usage: flags.py [gcc|cray|intel] [dbg|opt] [mpi] [cuda] [elpa] [ls++] > flags.mk | |
# scons -Y path/to/lm-x.xxy [-j nprocs] [build_target] | |
# | |
# default args: gcc opt | |
# | |
# | |
# the following is produced by: | |
# ../genflags.py | |
# | |
LIBXCPATH="/opt/etsf/" | |
cc = gcc | |
cflags = -O3 -march=native -pipe | |
fc = gfortran | |
fflags = -O3 -march=native -pipe -I$(LIBXCPATH)/include | |
# The flag to set destination path for .mod files. | |
modflag = -J | |
# The flag enabling OpenMP. | |
omp = -fopenmp | |
# The nvidia/cuda compiler. Not necessary unless you want to play with it. | |
nvcc = nvcc -O3 -arch=sm_35 --ftz true --prec-div false --prec-sqrt false | |
# All general linking related flags (library and run paths, libs etc...) | |
ldflags = -lpthread -L$(LIBXCPATH)/lib -lxc -llapack -lblas -lfftw3 | |
# Nb: linking order matters, for blas + lapack | |
# The C++ compiler to be used if necessary for glue code. | |
cxx = g++ | |
# Preprocessing flags for the custom ccomp fortran preprocessor. Used for all .f and .F* files except for the ecalj/qsgw package. The C preprocessor called from the compiler script is used there. | |
ppflags = -dunix -dAUTO-ARRAY -dF90 -dNOQUAD -dBLAS -dBLAS3 -dLAPACK -dFFTW -dFFTW3 -dFORTRAN2003 | |
# Kernigham & Ritchie archaic C compiler used only to compile ccomp. Beware the HECToR/cray architecture is messed up! The executables produced by this compiler NEED to run on the compilation node. This is usually not the case if the default C compiler is used. | |
knrcc = gcc | |
# Flags for the ecalj/qsgw package (compiler flags as well as preprocessing definitions). | |
ecaljfl = -ffixed-line-length-132 -DEXPAND_ISWAP -DEXPAND_VDV -DCOMMONLL -DUSE_X0KBLAS -DX0KBLAS_DIV -DMbytes_X0KBLAS_DIV=2 -DNWORD_RECORDSIZE=1 -DEXPAND_SORTEA |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment