2019-03-17 22:03:27 +08:00
|
|
|
# This is part of the netCDF package. Copyright 2005-2019 University
|
|
|
|
# Corporation for Atmospheric Research/Unidata See COPYRIGHT file for
|
|
|
|
# conditions of use.
|
|
|
|
#
|
2019-03-18 22:40:18 +08:00
|
|
|
# This directory holds performance tests for netCDF-4. It is only
|
|
|
|
# built for netCDF-4 builds that use the --enable-benchmarks configure
|
|
|
|
# option.
|
2019-03-17 22:03:27 +08:00
|
|
|
#
|
2019-03-18 22:40:18 +08:00
|
|
|
# Ed Hartnett 3/18/19
|
2019-03-17 22:03:27 +08:00
|
|
|
|
2021-08-12 16:19:48 +08:00
|
|
|
# Running these performance tests at the same time is meaningless,
|
|
|
|
# since that will saturate I/O channels. Running all benchmarks in
|
|
|
|
# parallel can also be really slow on a less-powerful workstation,
|
|
|
|
# causing timeouts.
|
|
|
|
.NOTPARALLEL:
|
|
|
|
|
2019-03-17 22:03:27 +08:00
|
|
|
# Put together AM_CPPFLAGS and AM_LDFLAGS.
|
|
|
|
include $(top_srcdir)/lib_flags.am
|
|
|
|
|
|
|
|
TEST_EXTENSIONS = .sh
|
|
|
|
|
|
|
|
# Link to our assembled library.
|
|
|
|
AM_LDFLAGS += ${top_builddir}/liblib/libnetcdf.la
|
|
|
|
LDADD = ${top_builddir}/liblib/libnetcdf.la
|
2019-03-17 22:11:08 +08:00
|
|
|
|
2020-02-09 23:44:02 +08:00
|
|
|
check_PROGRAMS = tst_create_files bm_file tst_chunks3 tst_ar4 \
|
|
|
|
tst_ar4_3d tst_ar4_4d bm_many_objs tst_h_many_atts bm_many_atts \
|
|
|
|
tst_files2 tst_files3 tst_mem tst_mem1 tst_knmi bm_netcdf4_recs \
|
2021-11-27 22:40:02 +08:00
|
|
|
tst_wrf_reads tst_attsperf bigmeta openbigmeta tst_bm_rando \
|
|
|
|
tst_compress
|
2019-03-17 22:11:08 +08:00
|
|
|
|
2019-03-17 22:19:17 +08:00
|
|
|
bm_file_SOURCES = bm_file.c tst_utils.c
|
2021-09-09 19:58:13 +08:00
|
|
|
bm_file_LDFLAGS = -no-install
|
2019-03-17 22:30:06 +08:00
|
|
|
bm_netcdf4_recs_SOURCES = bm_netcdf4_recs.c tst_utils.c
|
|
|
|
bm_many_atts_SOURCES = bm_many_atts.c tst_utils.c
|
|
|
|
bm_many_objs_SOURCES = bm_many_objs.c tst_utils.c
|
|
|
|
tst_ar4_3d_SOURCES = tst_ar4_3d.c tst_utils.c
|
|
|
|
tst_ar4_4d_SOURCES = tst_ar4_4d.c tst_utils.c
|
|
|
|
tst_files2_SOURCES = tst_files2.c tst_utils.c
|
|
|
|
tst_ar4_SOURCES = tst_ar4.c tst_utils.c
|
|
|
|
tst_h_many_atts_SOURCES = tst_h_many_atts.c tst_utils.c
|
|
|
|
tst_knmi_SOURCES = tst_knmi.c tst_utils.c
|
|
|
|
tst_wrf_reads_SOURCES = tst_wrf_reads.c tst_utils.c
|
2019-11-26 07:33:04 +08:00
|
|
|
tst_bm_rando_SOURCES = tst_bm_rando.c tst_utils.c
|
2021-11-27 22:40:02 +08:00
|
|
|
tst_compress_SOURCES = tst_compress.c tst_utils.c
|
2019-03-17 22:11:08 +08:00
|
|
|
|
2021-08-10 03:42:04 +08:00
|
|
|
# Removing tst_mem1 because it sometimes fails on very busy system.
|
2021-08-13 17:19:36 +08:00
|
|
|
# Removing run_knmi_bm.sh because it fetches files from a server and
|
|
|
|
# not all HPC systems have easy internet access, plus it's very slow
|
|
|
|
# in CI.
|
|
|
|
TESTS = tst_ar4_3d tst_create_files tst_files3 tst_mem tst_wrf_reads \
|
|
|
|
tst_attsperf perftest.sh run_tst_chunks.sh run_bm_elena.sh \
|
2021-11-27 22:40:02 +08:00
|
|
|
tst_bm_rando tst_compress
|
2019-03-17 22:11:08 +08:00
|
|
|
|
2019-03-19 02:16:42 +08:00
|
|
|
run_bm_elena.log: tst_create_files.log
|
2019-03-17 22:11:08 +08:00
|
|
|
|
2019-03-19 00:15:18 +08:00
|
|
|
if BUILD_UTILITIES
|
|
|
|
TESTS += run_bm_test1.sh run_bm_test2.sh
|
2019-03-17 22:11:08 +08:00
|
|
|
|
2019-03-19 00:15:18 +08:00
|
|
|
# tst_create_files creates files for other tests.
|
|
|
|
run_bm_test1.log: tst_create_files.log
|
|
|
|
run_bm_test2.log: tst_create_files.log
|
2019-03-17 22:11:08 +08:00
|
|
|
|
2020-07-01 00:40:05 +08:00
|
|
|
# This will run parallel I/O benchmarks for parallel builds.
|
2019-03-19 00:15:18 +08:00
|
|
|
if TEST_PARALLEL4
|
2021-09-09 21:20:40 +08:00
|
|
|
check_PROGRAMS += tst_compress_par
|
|
|
|
tst_compress_par_LDFLAGS = -no-install
|
2020-07-01 00:40:05 +08:00
|
|
|
TESTS += run_par_bm_test.sh run_gfs_test.sh
|
2020-07-01 03:20:28 +08:00
|
|
|
run_par_bm_test.log: tst_create_files.log run_bm_test1.log
|
2019-03-19 00:15:18 +08:00
|
|
|
endif # TEST_PARALLEL4
|
|
|
|
endif # BUILD_UTILITIES
|
2019-03-18 00:57:00 +08:00
|
|
|
|
2020-07-01 03:20:28 +08:00
|
|
|
# Extra files for the dist. Note that parallel tests end in .in,
|
|
|
|
# because configure substitute in the launcher (usually mpiexec).
|
|
|
|
EXTRA_DIST = run_knmi_bm.sh perftest.sh run_bm_test1.sh \
|
|
|
|
run_bm_test2.sh run_tst_chunks.sh run_bm_elena.sh CMakeLists.txt \
|
2020-07-02 02:26:12 +08:00
|
|
|
run_gfs_test.sh.in run_par_bm_test.sh.in gfs_sample.cdl
|
2019-03-18 01:17:29 +08:00
|
|
|
|
2020-07-01 03:20:28 +08:00
|
|
|
CLEANFILES = tst_*.nc bigmeta.nc bigvars.nc floats*.nc floats*.cdl \
|
|
|
|
shorts*.nc shorts*.cdl ints*.nc ints*.cdl tst_*.cdl
|
2019-03-18 01:38:27 +08:00
|
|
|
|
2020-07-01 03:20:28 +08:00
|
|
|
DISTCLEANFILES = run_par_bm_test.sh MSGCPP_CWP_NC*.nc run_gfs_test.sh
|
2019-03-18 22:30:14 +08:00
|
|
|
|
|
|
|
# If valgrind is present, add valgrind targets.
|
|
|
|
@VALGRIND_CHECK_RULES@
|