diff -up cp2k-2.3/arch/Linux-x86-64-gfortran.sopt.r cp2k-2.3/arch/Linux-x86-64-gfortran.sopt --- cp2k-2.3/arch/Linux-x86-64-gfortran.sopt.r 2010-12-22 17:46:11.000000000 +0100 +++ cp2k-2.3/arch/Linux-x86-64-gfortran.sopt 2013-02-20 23:48:26.058052003 +0100 @@ -11,9 +11,10 @@ LD = gfortran AR = ar -r CPPFLAGS = -DFLAGS = -D__GFORTRAN -D__FFTSG -D__FFTW3 -FCFLAGS = -O2 -ffast-math -funroll-loops -ftree-vectorize -march=native -ffree-form $(DFLAGS) +DFLAGS = -D__GFORTRAN -D__FFTSG -D__FFTW3 -D__LIBINT -D__LIBINT_MAX_AM=8 -D__LIBDERIV_MAX_AM1=6 +OPTFLAGS = -O2 -ffast-math -funroll-loops -ftree-vectorize -march=native +FCFLAGS = $(OPTFLAGS) -ffree-form -ffree-line-length-none $(DFLAGS) LDFLAGS = $(FCFLAGS) -LIBS = -llapack -lblas -lfftw3 +LIBS = -llapack -lf77blas -latlas -lfftw3 -lint -lderiv OBJECTS_ARCHITECTURE = machine_gfortran.o diff -up cp2k-2.3/makefiles/Makefile.r cp2k-2.3/makefiles/Makefile --- cp2k-2.3/makefiles/Makefile.r 2012-08-21 13:35:17.000000000 +0200 +++ cp2k-2.3/makefiles/Makefile 2013-02-20 23:50:10.898183206 +0100 @@ -90,11 +90,11 @@ CLEAN_TARGETS = $(addsuffix /clean ,$(VE # lists the targets that are not files # .PHONY : _all libs _progr _lib build clean realclean distclean $(CLEAN_TARGETS)\ - $(ALL_TARGETS) $(LIB_TARGETS) $(VERSION_TARGETS) fes dirs deptool\ + $(ALL_TARGETS) $(LIB_TARGETS) $(VERSION_TARGETS) fes dirs\ dbcsr_test dbcsr_perf mrproper ### Master rules ### -build: dirs deptool +build: dirs +$(MAKE) -C $(SRCDIR) -f $(MAKEFILE) all.dep +$(MAKE) -C $(SRCDIR)/lib -f $(MAKEFILE) lib.dep +$(MAKE) -C $(SRCDIR)/dbcsr_lib -f $(MAKEFILE) dbcsr.dep @@ -104,7 +104,7 @@ build: dirs deptool +cp $(LIBMA_DEPENDENCIES) $(OBJDIR)/$(VERSION)/libc_ma.dep +$(MAKE) -C $(OBJDIR)/$(VERSION) -f $(MAKEFILE) $(WHAT) -fes: dirs deptool +fes: dirs +$(MAKE) -C $(TOOLSRC)/metadyn/ -f $(MAKEFILE) fes.dep +$(MAKE) -C $(OBJDIR)/$(VERSION) -f $(MAKEFILE) HACKLIBDEP=yes VERSION=$(VERSION) $(FES) @@ -124,9 +124,6 @@ pretty: dirs +$(MAKE) -C $(SRCDIR)/dbcsr_lib -f $(MAKEFILE) _pretty_lib3 +$(MAKE) -C $(SRCDIR)/arch_lib -f $(MAKEFILE) _pretty_lib4 -deptool: dirs - +$(MAKE) LDFLAGS=$(MAKDEPF90_LDFLAGS) -C $(TOOLDIR) -f $(MAKEFILE) makedepf90 - libs: +$(MAKE) -f $(MAKEFILE) VERSION=$(VERSION) WHAT=_lib build all: @@ -145,7 +142,7 @@ dbcsr_perf: # # on a parallel build only one task should go a build the deptool # -$(VERSION_TARGETS): dirs deptool +$(VERSION_TARGETS): dirs +$(MAKE) -f $(MAKEFILE) VERSION=$@ build $(CLEAN_TARGETS): @@ -245,24 +242,24 @@ all.dep: $(OBJECTS:.o=.F) $(LIB1_OBJECTS ifeq ($(HACKDEP),yes) echo $^ | awk '{for (i=1;i<=NF;i++) {obj=$$(i) ; sub(".F",".o",obj); if ($$(i)!=obj) print obj,":",$$(i) }}' > $(OBJDIR)/$(VERSION)/all.dep else - $(TOOLDIR)/makedepf90 $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/all.dep || ( rm -f $(OBJDIR)/$(VERSION)/all.dep ; exit 1 ) + makedepf90 $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/all.dep || ( rm -f $(OBJDIR)/$(VERSION)/all.dep ; exit 1 ) endif lib.dep: $(LIB1_OBJECTS:.o=.F) - $(TOOLDIR)/makedepf90 $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/lib.dep || ( rm -f $(OBJDIR)/$(VERSION)/lib.dep ; exit 1 ) + makedepf90 $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/lib.dep || ( rm -f $(OBJDIR)/$(VERSION)/lib.dep ; exit 1 ) fft.dep: $(LIB2_OBJECTS:.o=.F) - $(TOOLDIR)/makedepf90 $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/fft.dep || ( rm -f $(OBJDIR)/$(VERSION)/fft.dep ; exit 1 ) + makedepf90 $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/fft.dep || ( rm -f $(OBJDIR)/$(VERSION)/fft.dep ; exit 1 ) dbcsr.dep: $(LIB3_OBJECTS:.o=.F) $(LIB4_OBJECTS:.o=.F) - $(TOOLDIR)/makedepf90 $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/dbcsr.dep || ( rm -f $(OBJDIR)/$(VERSION)/dbcsr.dep ; exit 1 ) + makedepf90 $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/dbcsr.dep || ( rm -f $(OBJDIR)/$(VERSION)/dbcsr.dep ; exit 1 ) ma.dep: $(LIB4_OBJECTS:.o=.F) machine.F message_passing.F mathlib.F - $(TOOLDIR)/makedepf90 $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/ma.dep || ( rm -f $(OBJDIR)/$(VERSION)/ma.dep ; exit 1 ) + makedepf90 $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/ma.dep || ( rm -f $(OBJDIR)/$(VERSION)/ma.dep ; exit 1 ) # this is kind of a hack, fes depends on files in other directories, hence the -I and the -b. fes.dep: $(FESOBJS:.o=.F) - $(TOOLDIR)/makedepf90 -I$(SRCDIR) -b. $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/fes.dep || ( rm -f $(OBJDIR)/$(VERSION)/fes.dep ; exit 1 ) + makedepf90 -I$(SRCDIR) -b. $(MODSTRING) -free $^ > $(OBJDIR)/$(VERSION)/fes.dep || ( rm -f $(OBJDIR)/$(VERSION)/fes.dep ; exit 1 ) # # and the rules doing the actual work @@ -370,9 +367,6 @@ dbcsr_performance_driver.o: $(LIB3_ARCHI # # these are tools, but their integration in the build is ugly at least (e.g. see dependencies). # -makedepf90: - -test -d $(TOOLDIR)/makedepf90-build || ( mkdir makedepf90-build ; cp $(TOOLSRC)/makedepf90/* makedepf90-build ) - { cd makedepf90-build ; ./configure --prefix=$(TOOLDIR) --bindir=$(TOOLDIR) ; $(MAKE) VERSION="2.8.8cp2k" ; $(MAKE) install ; } # # the rule how to generate the .o from the .F diff -up cp2k-2.3/tools/do_regtest.r cp2k-2.3/tools/do_regtest --- cp2k-2.3/tools/do_regtest.r 2012-08-21 10:25:41.000000000 +0200 +++ cp2k-2.3/tools/do_regtest 2013-02-20 23:48:26.059052004 +0100 @@ -103,8 +103,8 @@ leakcheck="NO" # *** how to execute an input file [ cp2k_prefix input cp2k_postfix ] # Leave empty for serial, uncomment for parallel -cp2k_run_prefix="mpiexec -np 2" -#cp2k_run_prefix="" +#cp2k_run_prefix="mpiexec -np 2" +cp2k_run_prefix="" cp2k_run_postfix= #cp2k_prefix="( ulimit -t 300; ${dir_base}/${cp2k_dir}/exe/${dir_triplet}/cp2k.${cp2k_version}" #cp2k_postfix=" )" @@ -353,9 +353,6 @@ if [[ ${quick} != "quick" ]]; then else echo "make realclean VERSION=${cp2k_version} went fine" fi -else - echo "quick testing, no realclean" -fi # *** from here failures are likely to be bugs in cp2k echo "-------------------------compiling cp2k-----------------------------------" @@ -372,6 +369,10 @@ else compile_warnings=`grep "Warning:" out | wc | tail -1 | ${awk} '{print $1}'` echo "make VERSION=${cp2k_version} went fine (${compile_warnings} warnings)" fi + +else + echo "quick testing, no realclean" +fi echo "-------------------------regtesting cp2k----------------------------------" ################################################################################### @@ -519,6 +520,7 @@ do input_file=`grep -v "#" TEST_FILES | ${awk} -v itest=$itest '{c=c+1;if (c==itest) print $1}'` # just one test right now, but this should generalize test_types=`grep -v "#" TEST_FILES | ${awk} -v itest=$itest '{c=c+1;if (c==itest) print $2}'` + echo "Running ${input_file}" output_file=${dir_out}/${dir}/${input_file}.out output_last=${dir_last}/${dir}/${input_file}.out ( ulimit -t ${job_max_time} -v 2000000 ; ${cp2k_prefix} ${input_file} ${cp2k_postfix} &> ${output_file} )