# ---------------------------------------------------------------------------- # # Script that generates a summary from the output of the tests series benchabinit = $(BOURNE_SHELL) ../../Scripts/benchabinit.sh # Test input files using the chkinabi script tests_input: $(MAKE) tests_fast dirname=chkinabi $(MAKE) tests_v1 dirname=chkinabi $(MAKE) tests_v2 dirname=chkinabi $(MAKE) tests_v3 dirname=chkinabi $(MAKE) tests_v4 dirname=chkinabi $(MAKE) tests_v5 dirname=chkinabi $(MAKE) tests_tutorial dirname=chkinabi $(MAKE) tests_physics dirname=chkinabi # Perform all sequential tests, except cpu (test accuracy) tests_acc: $(MAKE) tests_fast dirname=test $(MAKE) tests_v1 dirname=test start=01 stop=make $(MAKE) tests_v2 dirname=test $(MAKE) tests_v3 dirname=test $(MAKE) tests_v4 dirname=test start=01 stop=make $(MAKE) tests_v5 dirname=test $(MAKE) tests_tutorial dirname=test $(MAKE) tests_paral paral_host=test paral_mode=seq # Perform all sequential tests, except cpu (test accuracy) # 4 threads at once. Start with the longest of test series. tests_acc4: $(MAKE) tests_tutorial dirname=test1 start=11 stop=gw_9 & $(MAKE) tests_tutorial dirname=test2 start=nlo_1 stop=tddft_1 & $(MAKE) tests_v4 dirname=test start=01 stop=make & $(MAKE) tests_fast dirname=test $(MAKE) tests_v1 dirname=test start=01 stop=make $(MAKE) tests_v2 dirname=test $(MAKE) tests_v3 dirname=test $(MAKE) tests_v5 dirname=test $(MAKE) tests_paral paral_host=test paral_mode=seq # Perform all sequential tests, for benchmarks tests_bench: tests_acc $(MAKE) tests_cpu dirname=test cd cpu/,,test* && $(benchabinit) > summary rm -rf summary_tests.tar.gz tar cvf summary_tests.tar \ fast/,,test*/fl* fast/,,test*/*out* \ v*/,,test*/fl* v*/,,test*/*out* \ tutorial/,,test*/fl* tutorial/,,test*/*out* \ paral/,,test*/fl* paral/,,test*/*out* \ cpu/,,test*/*/*diff* cpu/,,test*/*/*report* cpu/,,test*/summary gzip --best summary_tests.tar # Minimal set of tests tests_min: $(MAKE) tests_v1 dirname=test start=01 stop=make $(MAKE) tests_v2 dirname=test $(MAKE) tests_v3 dirname=test $(MAKE) tests_v4 dirname=test start=01 stop=make $(MAKE) tests_v5 dirname=test $(MAKE) tests_fast dirname=test $(MAKE) tests_paral paral_host=test paral_mode=seq # Minimal set of tests, 4 threads at once tests_min4: $(MAKE) tests_v2 dirname=test & $(MAKE) tests_v3 dirname=test & $(MAKE) tests_v4 dirname=test start=01 stop=make & $(MAKE) tests_v1 dirname=test start=01 stop=make $(MAKE) tests_v5 dirname=test $(MAKE) tests_fast dirname=test $(MAKE) tests_paral paral_host=test paral_mode=seq # All sequential tests, except cpu and paral, using abinip # The proper command line has to be defined before # (FIXME: will definitively not work with the following coding) tests_abinip: $(MAKE) tests_fast dirname=paral $(MAKE) tests_v1 dirname=paral start=01 stop=make $(MAKE) tests_v2 dirname=paral $(MAKE) tests_v3 dirname=paral $(MAKE) tests_v4 dirname=paral start=01 stop=make $(MAKE) tests_v5 dirname=paral $(MAKE) tests_tutorial dirname=paral # Minimal set of sequential tests, guaranteeing that a version runs correctly # Produces a summary file as well # Suitable for developers tests_dev: $(MAKE) tests_fast dirname=test $(MAKE) tests_v1 dirname=test start=01 stop=make $(MAKE) tests_v2 dirname=test $(MAKE) tests_v3 dirname=test $(MAKE) tests_v4 dirname=test start=01 stop=make $(MAKE) tests_v5 dirname=test $(MAKE) tests_paral paral_host=test paral_mode=seq rm -rf summary_tests.tar.gz tar cvf summary_tests.tar \ fast/,,test*/*report* fast/,,test*/*out* \ v*/,,test*/*report* v*/,,test*/*out* \ paral/,,test*/*report* paral/,,test*/*out* gzip --best summary_tests.tar # Test the speed tests_speed: $(tests_cpu_inps) $(psps_for_tests) @if test ! -e cpu; then mkdir -p cpu; fi $(run_standard_tests) test $(abinit_builddir)/src/main $(abinit_srcdir)/tests cpu A3 A3 $(run_standard_tests) test $(abinit_builddir)/src/main $(abinit_srcdir)/tests cpu B3 B3 cd cpu/,,test* && $(benchabinit) > ../../,summary_speed # ---------------------------------------------------------------------------- # dev help_dev: @cat $(top_srcdir)/doc/help_make/help_make_tests_dev # ---------------------------------------------------------------------------- #