From d68da94095dc667e1bf773ce51a78747920efab0 Mon Sep 17 00:00:00 2001 From: giannozz Date: Fri, 10 Nov 2017 15:12:41 +0000 Subject: [PATCH] Added make.inc for Fujitsu FX10: added option -x dir for cvray (prevents misinterpretation of Intel !DIR$ directives) git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13988 c92efa57-630b-4861-b058-cf58834340f0 --- install/README.FX10 | 167 ++++++++++++++++++++++++++++++++++++++ install/configure | 3 +- install/m4/x_ac_qe_f90.m4 | 3 +- 3 files changed, 171 insertions(+), 2 deletions(-) create mode 100644 install/README.FX10 diff --git a/install/README.FX10 b/install/README.FX10 new file mode 100644 index 000000000..8d0250bb0 --- /dev/null +++ b/install/README.FX10 @@ -0,0 +1,167 @@ +The following is tha "make.inc" file for Fujitsu FX10, a commercial version +of the "K" supercomputer. Mitsuaki Kawamura, March 2017 + +# make.inc. Generated from make.inc.in by configure. + +# compilation rules + +.SUFFIXES : +.SUFFIXES : .o .c .f .f90 + +# most fortran compilers can directly preprocess c-like directives: use +# $(MPIF90) $(F90FLAGS) -c $< +# if explicit preprocessing by the C preprocessor is needed, use: +# $(CPP) $(CPPFLAGS) $< -o $*.F90 +# $(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o +# remember the tabulator in the first column !!! + +.f90.o: + $(MPIF90) $(F90FLAGS) -c $< + +# .f.o and .c.o: do not modify + +.f.o: + $(F77) $(FFLAGS) -c $< + +.c.o: + $(CC) $(CFLAGS) -c $< + + + +# Top QE directory, useful for locating libraries, linking QE with plugins +# The following syntax should always point to TOPDIR: +TOPDIR = $(dir $(abspath $(filter %make.inc,$(MAKEFILE_LIST)))) +# if it doesn't work, uncomment the following line (edit if needed): + +# TOPDIR = + +# DFLAGS = precompilation options (possible arguments to -D and -U) +# used by the C compiler and preprocessor +# FDFLAGS = as DFLAGS, for the f90 compiler +# See include/defs.h.README for a list of options and their meaning +# With the exception of IBM xlf, FDFLAGS = $(DFLAGS) +# For IBM xlf, FDFLAGS is the same as DFLAGS with separating commas + +# MANUAL_DFLAGS = additional precompilation option(s), if desired +# BEWARE: it does not work for IBM xlf! Manually edit FDFLAGS +MANUAL_DFLAGS = +DFLAGS = -D__FFTW3 -D__MPI -D__PARA -D__SCALAPACK +FDFLAGS = $(DFLAGS) $(MANUAL_DFLAGS) + +# IFLAGS = how to locate directories with *.h or *.f90 file to be included +# typically -I../include -I/some/other/directory/ +# the latter contains .e.g. files needed by FFT libraries + +IFLAGS = -I$(TOPDIR)/include -I../include/ + +# MOD_FLAGS = flag used by f90 compiler to locate modules +# Each Makefile defines the list of needed modules in MODFLAGS + +MOD_FLAG = -I + +# Compilers: fortran-90, fortran-77, C +# If a parallel compilation is desired, MPIF90 should be a fortran-90 +# compiler that produces executables for parallel execution using MPI +# (such as for instance mpif90, mpf90, mpxlf90,...); +# otherwise, an ordinary fortran-90 compiler (f90, g95, xlf90, ifort,...) +# If you have a parallel machine but no suitable candidate for MPIF90, +# try to specify the directory containing "mpif.h" in IFLAGS +# and to specify the location of MPI libraries in MPI_LIBS + +MPIF90 = mpifrtpx +#F90 = frtpx +CC = fccpx +F77 = frtpx + +# C preprocessor and preprocessing flags - for explicit preprocessing, +# if needed (see the compilation rules above) +# preprocessing flags must include DFLAGS and IFLAGS + +CPP = fccpx +CPPFLAGS = -P $(DFLAGS) $(IFLAGS) + +# compiler flags: C, F90, F77 +# C flags must include DFLAGS and IFLAGS +# F90 flags must include MODFLAGS, IFLAGS, and FDFLAGS with appropriate syntax + +CFLAGS = -O3 $(DFLAGS) $(IFLAGS) +F90FLAGS = $(FFLAGS) -Cpp $(FDFLAGS) $(IFLAGS) $(MODFLAGS) +FFLAGS = -Kfast -g -Ksimd=2 -Kprefetch_indirect -KXFILL #-Nquickdbg + +# compiler flags without optimization for fortran-77 +# the latter is NEEDED to properly compile dlamch.f, used by lapack + +FFLAGS_NOOPT = -O0 -g + +# compiler flag needed by some compilers when the main program is not fortran +# Currently used for Yambo + +FFLAGS_NOMAIN = + +# Linker, linker-specific flags (if any) +# Typically LD coincides with F90 or MPIF90, LD_LIBS is empty + +LD = mpifrtpx +LDFLAGS = -g +LD_LIBS = + +# External Libraries (if any) : blas, lapack, fft, MPI + +# If you have nothing better, use the local copy : +# BLAS_LIBS = /your/path/to/espresso/BLAS/blas.a +# BLAS_LIBS_SWITCH = internal + +BLAS_LIBS = -KSPARC64IXfx -SSL2BLAMP +BLAS_LIBS_SWITCH = external + +# If you have nothing better, use the local copy : +# LAPACK_LIBS = /your/path/to/espresso/lapack-3.2/lapack.a +# LAPACK_LIBS_SWITCH = internal +# For IBM machines with essl (-D__ESSL): load essl BEFORE lapack ! +# remember that LAPACK_LIBS precedes BLAS_LIBS in loading order + +LAPACK_LIBS = +LAPACK_LIBS_SWITCH = external + +ELPA_LIBS_SWITCH = disabled +SCALAPACK_LIBS = -SCALAPACK + +# nothing needed here if the the internal copy of FFTW is compiled +# (needs -D__FFTW in DFLAGS) + +FFT_LIBS = -lfftw3 + +# HDF5 -- experimental +HFD5_LIB = + +# For parallel execution, the correct path to MPI libraries must +# be specified in MPI_LIBS (except for IBM if you use mpxlf) + +MPI_LIBS = + +# IBM-specific: MASS libraries, if available and if -D__MASS is defined in FDFLAGS + +MASS_LIBS = + +# ar command and flags - for most architectures: AR = ar, ARFLAGS = ruv + +AR = ar +ARFLAGS = ruv + +# ranlib command. If ranlib is not needed (it isn't in most cases) use +# RANLIB = echo + +RANLIB = ranlib + +# all internal and external libraries - do not modify + +FLIB_TARGETS = all + +LIBOBJS = $(TOPDIR)/clib/clib.a $(TOPDIR)/iotk/src/libiotk.a +LIBS = $(SCALAPACK_LIBS) $(LAPACK_LIBS) $(FFT_LIBS) $(BLAS_LIBS) $(MPI_LIBS) $(MASS_LIBS) ${HFD5_LIB} $(LD_LIBS) + +# wget or curl - useful to download from network +WGET = wget -O + +# Install directory - not currently used +PREFIX = /usr/local diff --git a/install/configure b/install/configure index 786643d7d..b2288ed7e 100755 --- a/install/configure +++ b/install/configure @@ -4642,7 +4642,8 @@ crayxt*:cray* ) try_fflags="-O2" #NOTE: add '-rm' to get messages from crayftn about why # optimizations have not been applied - try_f90flags="-O3,fp3 -f free" + # -x dir disable directives introduced by !DIR$ + try_f90flags="-O3,fp3 -f free -x dir" try_fflags_noopt="-O0" try_ldflags_openmp="-homp" try_ldflags="-v" diff --git a/install/m4/x_ac_qe_f90.m4 b/install/m4/x_ac_qe_f90.m4 index 952df7a40..89289ac59 100644 --- a/install/m4/x_ac_qe_f90.m4 +++ b/install/m4/x_ac_qe_f90.m4 @@ -107,7 +107,8 @@ crayxt*:cray* ) try_fflags="-O2" #NOTE: add '-rm' to get messages from crayftn about why # optimizations have not been applied - try_f90flags="-O3,fp3 -f free" + # -x dir disable directives introduced by !DIR$ + try_f90flags="-O3,fp3 -f free -x dir" try_fflags_noopt="-O0" try_ldflags_openmp="-homp" try_ldflags="-v"