From fae180790e197f6bc72eb2d0273edc6481768bc4 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Fri, 12 Jun 2009 08:30:16 -0500 Subject: [svn-r17042] Updated perf_serial test to work on windows. Bring back from trunk. Tested: Windows --- perform/Makefile | 966 +++++++++++++++++++++++++++++++++++++++++++ perform/chunk | 148 +++++++ perform/chunk.chkexe | 0 perform/chunk.chklog | 50 +++ perform/chunk.h5 | Bin 0 -> 4022328 bytes perform/h5perf_serial | 148 +++++++ perform/h5perf_serial.chkexe | 0 perform/h5perf_serial.chklog | 56 +++ perform/iopipe | 148 +++++++ perform/iopipe.chkexe | 0 perform/iopipe.chklog | 24 ++ perform/iopipe.h5 | Bin 0 -> 1002048 bytes perform/iopipe.raw | Bin 0 -> 1000000 bytes perform/overhead | 148 +++++++ perform/overhead.chkexe | 0 perform/overhead.chklog | 15 + perform/perf_meta | 148 +++++++ perform/perf_meta.chkexe | 0 perform/perf_meta.chklog | 23 ++ perform/sio_engine.c | 44 +- perform/sio_perf.c | 22 +- perform/sio_timer.c | 394 +++++++++--------- perform/sio_timer.h | 4 + perform/x-diag-rd.dat | 11 + perform/x-diag-wr.dat | 11 + perform/x-gnuplot | 44 ++ perform/x-rowmaj-rd.dat | 11 + perform/x-rowmaj-wr.dat | 11 + perform/zip_perf | 148 +++++++ perform/zip_perf.chkexe | 0 perform/zip_perf.chklog | 38 ++ 31 files changed, 2383 insertions(+), 229 deletions(-) create mode 100644 perform/Makefile create mode 100644 perform/chunk create mode 100644 perform/chunk.chkexe create mode 100644 perform/chunk.chklog create mode 100644 perform/chunk.h5 create mode 100644 perform/h5perf_serial create mode 100644 perform/h5perf_serial.chkexe create mode 100644 perform/h5perf_serial.chklog create mode 100644 perform/iopipe create mode 100644 perform/iopipe.chkexe create mode 100644 perform/iopipe.chklog create mode 100644 perform/iopipe.h5 create mode 100644 perform/iopipe.raw create mode 100644 perform/overhead create mode 100644 perform/overhead.chkexe create mode 100644 perform/overhead.chklog create mode 100644 perform/perf_meta create mode 100644 perform/perf_meta.chkexe create mode 100644 perform/perf_meta.chklog create mode 100644 perform/x-diag-rd.dat create mode 100644 perform/x-diag-wr.dat create mode 100644 perform/x-gnuplot create mode 100644 perform/x-rowmaj-rd.dat create mode 100644 perform/x-rowmaj-wr.dat create mode 100644 perform/zip_perf create mode 100644 perform/zip_perf.chkexe create mode 100644 perform/zip_perf.chklog diff --git a/perform/Makefile b/perform/Makefile new file mode 100644 index 0000000..bc0f5d3 --- /dev/null +++ b/perform/Makefile @@ -0,0 +1,966 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# perform/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +# +# Copyright by The HDF Group. +# Copyright by the Board of Trustees of the University of Illinois. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 copyright notice, including +# terms governing use, modification, and redistribution, is contained in +# the files COPYING and Copyright.html. COPYING can be found at the root +# of the source code distribution tree; Copyright.html can be found at the +# root level of an installed copy of the electronic HDF5 document set and +# is linked from the top-level documents page. It can also be found at +# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +# access to either file, you may request a copy from help@hdfgroup.org. +# +# HDF5 Library Performance Makefile(.in) +# + + +pkgdatadir = $(datadir)/hdf5 +pkglibdir = $(libdir)/hdf5 +pkgincludedir = $(includedir)/hdf5 +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/config/commence.am \ + $(top_srcdir)/config/conclude.am COPYING +bin_PROGRAMS = \ + h5perf_serial$(EXEEXT) +#bin_PROGRAMS = h5perf$(EXEEXT) +check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_4) +TESTS = $(check_PROGRAMS) +subdir = perform +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/src/H5config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +#am__EXEEXT_1 = h5perf$(EXEEXT) \ +# perf$(EXEEXT) +#am__EXEEXT_2 = benchpar$(EXEEXT) \ +# mpi-perf$(EXEEXT) +#am__EXEEXT_3 = $(am__EXEEXT_2) +am__EXEEXT_4 = iopipe$(EXEEXT) chunk$(EXEEXT) overhead$(EXEEXT) \ + zip_perf$(EXEEXT) perf_meta$(EXEEXT) h5perf_serial$(EXEEXT) \ + $(am__EXEEXT_3) +PROGRAMS = $(bin_PROGRAMS) +benchpar_SOURCES = benchpar.c +benchpar_OBJECTS = benchpar.$(OBJEXT) +benchpar_LDADD = $(LDADD) +benchpar_DEPENDENCIES = $(LIBHDF5) +chunk_SOURCES = chunk.c +chunk_OBJECTS = chunk.$(OBJEXT) +chunk_LDADD = $(LDADD) +chunk_DEPENDENCIES = $(LIBHDF5) +am_h5perf_OBJECTS = pio_perf.$(OBJEXT) pio_engine.$(OBJEXT) \ + pio_timer.$(OBJEXT) +h5perf_OBJECTS = $(am_h5perf_OBJECTS) +h5perf_DEPENDENCIES = $(LIBH5TOOLS) $(LIBH5TEST) $(LIBHDF5) +am_h5perf_serial_OBJECTS = sio_perf.$(OBJEXT) sio_engine.$(OBJEXT) \ + sio_timer.$(OBJEXT) +h5perf_serial_OBJECTS = $(am_h5perf_serial_OBJECTS) +h5perf_serial_DEPENDENCIES = $(LIBH5TOOLS) $(LIBH5TEST) $(LIBHDF5) +iopipe_SOURCES = iopipe.c +iopipe_OBJECTS = iopipe.$(OBJEXT) +iopipe_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) +mpi_perf_SOURCES = mpi-perf.c +mpi_perf_OBJECTS = mpi-perf.$(OBJEXT) +mpi_perf_LDADD = $(LDADD) +mpi_perf_DEPENDENCIES = $(LIBHDF5) +overhead_SOURCES = overhead.c +overhead_OBJECTS = overhead.$(OBJEXT) +overhead_LDADD = $(LDADD) +overhead_DEPENDENCIES = $(LIBHDF5) +perf_SOURCES = perf.c +perf_OBJECTS = perf.$(OBJEXT) +perf_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) +perf_meta_SOURCES = perf_meta.c +perf_meta_OBJECTS = perf_meta.$(OBJEXT) +perf_meta_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) +zip_perf_SOURCES = zip_perf.c +zip_perf_OBJECTS = zip_perf.$(OBJEXT) +zip_perf_DEPENDENCIES = $(LIBH5TOOLS) $(LIBH5TEST) $(LIBHDF5) +DEFAULT_INCLUDES = -I. -I$(top_builddir)/src +depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = benchpar.c chunk.c $(h5perf_SOURCES) \ + $(h5perf_serial_SOURCES) iopipe.c mpi-perf.c overhead.c perf.c \ + perf_meta.c zip_perf.c +DIST_SOURCES = benchpar.c chunk.c $(h5perf_SOURCES) \ + $(h5perf_serial_SOURCES) iopipe.c mpi-perf.c overhead.c perf.c \ + perf_meta.c zip_perf.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = /home1/packages/automake/automake-1.9.6/bin/aclocal-1.9 -I /afs/ncsa/projects/hdf/packages/libtool_1.5.14/Linux_2.4/share/aclocal +ADD_PARALLEL_FILES = no +AMTAR = ${SHELL} /home/abyrne/HDF_Projects/HDF5-C-1.8/bin/missing --run tar +AM_MAKEFLAGS = +AR = ar + +# Set the paths for AFS installs of autotools for Linux machines +# Ideally, these tools should never be needed during the build. +AUTOCONF = /home1/packages/autoconf/autoconf-2.60/bin/autoconf +AUTOHEADER = /home1/packages/autoconf/autoconf-2.60/bin/autoheader +AUTOMAKE = /home1/packages/automake/automake-1.9.6/bin/automake-1.9 +AWK = gawk +BYTESEX = little-endian +CC = gcc -fPIC +CCDEPMODE = depmode=gcc3 +CC_VERSION = /usr/lib64/ccache/gcc -fPIC (gcc-4.3.2) + +# H5_CFLAGS holds flags that should be used as CFLAGS when building hdf5, +# but which shouldn't be exported to h5cc for building other programs. +CFLAGS = -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wunreachable-code -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wvolatile-register-var -Wstrict-overflow -Wlogical-op -Wvla -O0 -fomit-frame-pointer -finline-functions +CLEARFILEBUF = yes +CODESTACK = no +CONFIG_DATE = Tue Apr 21 10:41:53 CDT 2009 +CONFIG_MODE = production +CONFIG_USER = abyrne@localhost.localdomain +CPP = gcc -fPIC -E +CPPFLAGS = -I/home/abyrne/HDF_Projects/SZIP/szip/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_POSIX_SOURCE -D_BSD_SOURCE -DNDEBUG -UH5_DEBUG_API +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = +CYGPATH_W = echo +DEBUG_PKG = +DEFAULT_API_VERSION = v18 +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DEPRECATED_SYMBOLS = yes +DIRECT_VFD = no +DSYMUTIL = +DUMPBIN = +DYNAMIC_DIRS = -R/home/abyrne/HDF_Projects/SZIP/szip/lib +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +EXTERNAL_FILTERS = deflate(zlib),szip(encoder) + +# Make sure that these variables are exported to the Makefiles +F9XMODEXT = +F9XMODFLAG = +F9XSUFFIXFLAG = +FC = g95 +FCFLAGS = +FCFLAGS_f90 = +FCLIBS = +FGREP = /bin/grep -F +FILTERS = shuffle,fletcher32,nbit,scaleoffset +FSEARCH_DIRS = +GPFS = no +GREP = /bin/grep +H5_CFLAGS = -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wunreachable-code -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wvolatile-register-var -Wstrict-overflow -Wlogical-op -Wvla -O0 -fomit-frame-pointer -finline-functions +H5_CPPFLAGS = -DNDEBUG -UH5_DEBUG_API +H5_CXXFLAGS = +H5_FCFLAGS = +H5_LONE_COLON = yes +H5_VERSION = 1.8.2-post13 +HADDR_T = +HAVE_DMALLOC = no +HDF5_HL = yes +HDF5_INTERFACES = c++ +HDF_CXX = yes +HDF_FORTRAN = no +HID_T = +HL = hl +HL_FOR = +HSIZE_T = +HSSIZE_T = +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTRUMENT = no +INSTRUMENT_LIBRARY = no +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/home/abyrne/HDF_Projects/SZIP/szip/lib +LIBOBJS = +LIBS = -lsz -lz -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LINUX_LFS = yes +LIPO = +LL_PATH = /home/abyrne/HDF_Projects/SZIP/szip/lib +LN_S = ln -s +LTLIBOBJS = +LT_STATIC_EXEC = +MAINT = # +MAKEINFO = ${SHELL} /home/abyrne/HDF_Projects/HDF5-C-1.8/bin/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MPE = no +MPI_GET_SIZE = +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJECT_NAMELEN_DEFAULT_F = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = hdf5 +PACKAGE_BUGREPORT = help@hdfgroup.org +PACKAGE_NAME = HDF5 +PACKAGE_STRING = HDF5 1.8.2-post13 +PACKAGE_TARNAME = hdf5 +PACKAGE_VERSION = 1.8.2-post13 +PARALLEL = no +PATH_SEPARATOR = : +PERL = perl +PTHREAD = +RANLIB = ranlib +ROOT = /home/abyrne/HDF_Projects/HDF5-C-1.8 +RUNPARALLEL = +RUNSERIAL = +R_INTEGER = +R_LARGE = +SEARCH = VPATH=$(srcdir) $(top_builddir)/src $(top_srcdir)/src +SED = /bin/sed +SETX = set -x +SET_MAKE = +SHELL = /bin/sh +SIZE_T = +STATIC_EXEC = no +STATIC_SHARED = +STRICT_FORMAT_CHECKS = no +STRIP = strip +TESTPARALLEL = +THREADSAFE = no +TIME = time +TR = /usr/bin/tr +TRACE_API = no +UNAME_INFO = Linux localhost.localdomain 2.6.27.21-170.2.56.fc10.x86_64 #1 SMP Mon Mar 23 23:08:10 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux +USE_FILTER_DEFLATE = yes +USE_FILTER_FLETCHER32 = yes +USE_FILTER_NBIT = yes +USE_FILTER_SCALEOFFSET = yes +USE_FILTER_SHUFFLE = yes +USE_FILTER_SZIP = yes +USINGMEMCHECKER = no +VERSION = 1.8.2-post13 +WORDS_BIGENDIAN = no +abs_builddir = /home/abyrne/HDF_Projects/HDF5-C-1.8/perform +abs_srcdir = /home/abyrne/HDF_Projects/HDF5-C-1.8/perform +abs_top_builddir = /home/abyrne/HDF_Projects/HDF5-C-1.8 +abs_top_srcdir = /home/abyrne/HDF_Projects/HDF5-C-1.8 +ac_ct_CC = gcc -fPIC +ac_ct_CXX = +ac_ct_DUMPBIN = +ac_ct_FC = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share + +# Install directories that automake doesn't know about +docdir = $(exec_prefix)/doc +dvidir = ${docdir} +enable_shared = yes +enable_static = yes +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /home/abyrne/HDF_Projects/HDF5-C-1.8/bin/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /home/abyrne/HDF_Projects/HDF5-C-1.8/hdf5 +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. + +# Shell commands used in Makefiles +RM = rm -f +CP = cp + +# Some machines need a command to run executables; this is that command +# so that our tests will run. +# We use RUNTESTS instead of RUNSERIAL directly because it may be that +# some tests need to be run with a different command. Older versions +# of the makefiles used the command +# $(LIBTOOL) --mode=execute +# in some directories, for instance. +RUNTESTS = $(RUNSERIAL) + +# Libraries to link to while building +LIBHDF5 = $(top_builddir)/src/libhdf5.la +LIBH5TEST = $(top_builddir)/test/libh5test.la +LIBH5F = $(top_builddir)/fortran/src/libhdf5_fortran.la +LIBH5FTEST = $(top_builddir)/fortran/test/libh5test_fortran.la +LIBH5CPP = $(top_builddir)/c++/src/libhdf5_cpp.la +LIBH5TOOLS = $(top_builddir)/tools/lib/libh5tools.la +LIBH5_HL = $(top_builddir)/hl/src/libhdf5_hl.la +LIBH5F_HL = $(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la +LIBH5CPP_HL = $(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la + +# Scripts used to build examples +# If only shared libraries have been installed, have h5cc build examples with +# shared libraries instead of static libraries +H5CC = $(bindir)/h5cc +H5CC_PP = $(bindir)/h5pcc +H5FC = $(bindir)/h5fc +H5FC_PP = $(bindir)/h5pfc +H5CPP = $(bindir)/h5c++ + +# The trace script; this is used on source files from the C library to +# insert tracing macros. +TRACE = perl $(top_srcdir)/bin/trace + +# .chkexe files are used to mark tests that have run successfully. +# .chklog files are output from those tests. +# *.clog are from the MPE option. +CHECK_CLEANFILES = *.chkexe *.chklog *.clog +INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/tools/lib +#TEST_PROG_PARA = h5perf perf + +# Some programs are not built or run by default, but can be built by hand or by +# specifying --enable-build-all at configure time. +# Also, some of these programs should only be built in parallel. +#PARA_BUILD_ALL = benchpar mpi-perf +#BUILD_ALL_PROGS = $(PARA_BUILD_ALL) + +# These are the programs that `make all' or `make tests' will build and which +# `make check' will run. List them in the order they should be run. +TEST_PROG = iopipe chunk overhead zip_perf perf_meta h5perf_serial $(BUILD_ALL_PROGS) +h5perf_SOURCES = pio_perf.c pio_engine.c pio_timer.c +h5perf_serial_SOURCES = sio_perf.c sio_engine.c sio_timer.c + +# These are the files that `make clean' (and derivatives) will remove from +# this directory. +CLEANFILES = *.h5 *.raw *.dat x-gnuplot perftest.out + +# All of the programs depend on the main hdf5 library, and some of them +# depend on test or tools library. +LDADD = $(LIBHDF5) +h5perf_LDADD = $(LIBH5TOOLS) $(LIBH5TEST) $(LIBHDF5) +h5perf_serial_LDADD = $(LIBH5TOOLS) $(LIBH5TEST) $(LIBHDF5) +perf_LDADD = $(LIBH5TEST) $(LIBHDF5) +iopipe_LDADD = $(LIBH5TEST) $(LIBHDF5) +zip_perf_LDADD = $(LIBH5TOOLS) $(LIBH5TEST) $(LIBHDF5) +perf_meta_LDADD = $(LIBH5TEST) $(LIBHDF5) + +# Automake needs to be taught how to build lib, progs, and tests targets. +# These will be filled in automatically for the most part (e.g., +# lib_LIBRARIES are built for lib target), but EXTRA_LIB, EXTRA_PROG, and +# EXTRA_TEST variables are supplied to allow the user to force targets to +# be built at certain times. +LIB = $(lib_LIBRARIES) $(lib_LTLIBRARIES) $(noinst_LIBRARIES) \ + $(noinst_LTLIBRARIES) $(check_LIBRARIES) $(check_LTLIBRARIES) $(EXTRA_LIB) + +PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \ + $(EXTRA_PROG) + +TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_) +TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_) +TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chkexe_) +TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chkexe_) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign perform/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign perform/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: # $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): # $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +benchpar$(EXEEXT): $(benchpar_OBJECTS) $(benchpar_DEPENDENCIES) + @rm -f benchpar$(EXEEXT) + $(LINK) $(benchpar_OBJECTS) $(benchpar_LDADD) $(LIBS) +chunk$(EXEEXT): $(chunk_OBJECTS) $(chunk_DEPENDENCIES) + @rm -f chunk$(EXEEXT) + $(LINK) $(chunk_OBJECTS) $(chunk_LDADD) $(LIBS) +h5perf$(EXEEXT): $(h5perf_OBJECTS) $(h5perf_DEPENDENCIES) + @rm -f h5perf$(EXEEXT) + $(LINK) $(h5perf_OBJECTS) $(h5perf_LDADD) $(LIBS) +h5perf_serial$(EXEEXT): $(h5perf_serial_OBJECTS) $(h5perf_serial_DEPENDENCIES) + @rm -f h5perf_serial$(EXEEXT) + $(LINK) $(h5perf_serial_OBJECTS) $(h5perf_serial_LDADD) $(LIBS) +iopipe$(EXEEXT): $(iopipe_OBJECTS) $(iopipe_DEPENDENCIES) + @rm -f iopipe$(EXEEXT) + $(LINK) $(iopipe_OBJECTS) $(iopipe_LDADD) $(LIBS) +mpi-perf$(EXEEXT): $(mpi_perf_OBJECTS) $(mpi_perf_DEPENDENCIES) + @rm -f mpi-perf$(EXEEXT) + $(LINK) $(mpi_perf_OBJECTS) $(mpi_perf_LDADD) $(LIBS) +overhead$(EXEEXT): $(overhead_OBJECTS) $(overhead_DEPENDENCIES) + @rm -f overhead$(EXEEXT) + $(LINK) $(overhead_OBJECTS) $(overhead_LDADD) $(LIBS) +perf$(EXEEXT): $(perf_OBJECTS) $(perf_DEPENDENCIES) + @rm -f perf$(EXEEXT) + $(LINK) $(perf_OBJECTS) $(perf_LDADD) $(LIBS) +perf_meta$(EXEEXT): $(perf_meta_OBJECTS) $(perf_meta_DEPENDENCIES) + @rm -f perf_meta$(EXEEXT) + $(LINK) $(perf_meta_OBJECTS) $(perf_meta_LDADD) $(LIBS) +zip_perf$(EXEEXT): $(zip_perf_OBJECTS) $(zip_perf_DEPENDENCIES) + @rm -f zip_perf$(EXEEXT) + $(LINK) $(zip_perf_OBJECTS) $(zip_perf_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/benchpar.Po +include ./$(DEPDIR)/chunk.Po +include ./$(DEPDIR)/iopipe.Po +include ./$(DEPDIR)/mpi-perf.Po +include ./$(DEPDIR)/overhead.Po +include ./$(DEPDIR)/perf.Po +include ./$(DEPDIR)/perf_meta.Po +include ./$(DEPDIR)/pio_engine.Po +include ./$(DEPDIR)/pio_perf.Po +include ./$(DEPDIR)/pio_timer.Po +include ./$(DEPDIR)/sio_engine.Po +include ./$(DEPDIR)/sio_perf.Po +include ./$(DEPDIR)/sio_timer.Po +include ./$(DEPDIR)/zip_perf.Po + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-am +all-am: Makefile $(PROGRAMS) all-local +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ + clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-local + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am all-local check check-TESTS check-am \ + clean clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ + clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + mostlyclean-local pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS + + +# List all build rules defined by HDF5 Makefiles as "PHONY" targets here. +# This tells the Makefiles that these targets are not files to be built but +# commands that should be executed even if a file with the same name already +# exists. +.PHONY: build-check-clean build-check-p build-check-s build-lib build-progs \ + build-tests check-clean check-install check-p check-s check-vfd \ + install-doc lib progs tests uninstall-doc _exec_check-s _test help + +help: + @$(top_srcdir)/bin/makehelp + +# lib/progs/tests targets recurse into subdirectories. build-* targets +# build files in this directory. +build-lib: $(LIB) +build-progs: $(LIB) $(PROGS) +build-tests: $(LIB) $(PROGS) $(TESTS) + +# General rule for recursive building targets. +# BUILT_SOURCES contain targets that need to be built before anything else +# in the directory (e.g., for Fortran type detection) +lib progs tests check-s check-p :: $(BUILT_SOURCES) + @$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; + @for d in X $(SUBDIRS); do \ + if test $$d != X && test $$d != .; then \ + (set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \ + fi; \ + done + +# General rule for recursive cleaning targets. Like the rule above, +# but doesn't require building BUILT_SOURCES. +check-clean :: + @$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; + @for d in X $(SUBDIRS); do \ + if test $$d != X && test $$d != .; then \ + (set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \ + fi; \ + done + +# Tell Automake to build tests when the user types `make all' (this is +# not its default behavior). Also build EXTRA_LIB and EXTRA_PROG since +# Automake won't build them automatically, either. +all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS) + +# make install-doc doesn't do anything outside of doc directory, but +# Makefiles should recognize it. +# UPDATE: docs no longer reside in this build tree, so this target +# is depreciated. +install-doc uninstall-doc: + @echo "Nothing to be done." + +# clean up files generated by tests so they can be re-run. +build-check-clean: + $(RM) -rf $(CHECK_CLEANFILES) + +# run check-clean whenever mostlyclean is run +mostlyclean-local: build-check-clean + +# check-install is just a synonym for installcheck +check-install: installcheck + +# Run each test in order, passing $(TEST_FLAGS) to the program. +# Since tests are done in a shell loop, "make -i" does apply inside it. +# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop. +# The timestamps give a rough idea how much time the tests use. +# +# Note that targets in TESTS (defined above) will be built when the user +# types 'make tests' or 'make check', but only programs in TEST_PROG, +# TEST_PROG_PARA, or TEST_SCRIPT will actually be executed. +check-TESTS: test + +test _test: + @$(MAKE) build-check-s + @$(MAKE) build-check-p + +# Actual execution of check-s. +build-check-s: $(LIB) $(PROGS) $(TESTS) + @if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \ + echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \ + fi + @$(MAKE) $(AM_MAKEFLAGS) _exec_check-s + @if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \ + echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\ + fi + +_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH) + +# The dummy.chkexe here prevents the target from being +# empty if there are no tests in the current directory. +# $${log} is the log file. +# $${tname} is the name of test. +$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_: + @if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \ + tname=$(@:.chkexe_=)$(EXEEXT);\ + log=$(@:.chkexe_=.chklog); \ + echo "============================"; \ + if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $${tname}; then \ + echo "No need to test $${tname} again."; \ + else \ + echo "============================" > $${log}; \ + if test "X$(FORTRAN_API)" = "Xyes"; then \ + echo "Fortran API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \ + echo "Fortran API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \ + elif test "X$(CXX_API)" = "Xyes"; then \ + echo "C++ API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \ + echo "C++ API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log};\ + else \ + echo "Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \ + echo "$(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \ + fi; \ + echo "============================" >> $${log}; \ + srcdir="$(srcdir)" \ + $(TIME) $(RUNTESTS) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \ + && touch $(@:.chkexe_=.chkexe) || \ + (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ + (cat $${log} && false) || exit 1; \ + echo "" >> $${log}; \ + echo "Finished testing $${tname} $(TEST_FLAGS)" >> $${log}; \ + echo "============================" >> $${log}; \ + echo "Finished testing $${tname} $(TEST_FLAGS)"; \ + cat $${log}; \ + fi; \ + fi + +# The dummysh.chkexe here prevents the target from being +# empty if there are no tests in the current directory. +# $${log} is the log file. +# $${tname} is the name of test. +$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummysh.chkexe_: + @if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummysh.chkexe_"; then \ + cmd=$(@:.chkexe_=);\ + tname=`basename $$cmd`;\ + chkname=`basename $(@:.chkexe_=.chkexe)`;\ + log=`basename $(@:.chkexe_=.chklog)`; \ + echo "============================"; \ + if $(top_srcdir)/bin/newer $${chkname} $$cmd $(SCRIPT_DEPEND); then \ + echo "No need to test $${tname} again."; \ + else \ + echo "============================" > $${log}; \ + if test "X$(FORTRAN_API)" = "Xyes"; then \ + echo "Fortran API: Testing $${tname} $(TEST_FLAGS)"; \ + echo "Fortran API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \ + elif test "X$(CXX_API)" = "Xyes"; then \ + echo "C++ API: Testing $${tname} $(TEST_FLAGS)"; \ + echo "C++ API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \ + else \ + echo "Testing $${tname} $(TEST_FLAGS)"; \ + echo "$${tname} $(TEST_FLAGS) Test Log" >> $${log}; \ + fi; \ + echo "============================" >> $${log}; \ + RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \ + srcdir="$(srcdir)" \ + $(TIME) $(SHELL) $$cmd $(TEST_FLAGS) >> $${log} 2>&1 \ + && touch $${chkname} || \ + (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ + (cat $${log} && false) || exit 1; \ + echo "" >> $${log}; \ + echo "Finished testing $${tname} $(TEST_FLAGS)" >> $${log}; \ + echo "============================" >> $${log}; \ + echo "Finished testing $${tname} $(TEST_FLAGS)"; \ + cat $${log}; \ + fi; \ + echo "============================"; \ + fi + +# Actual execution of check-p. +build-check-p: $(LIB) $(PROGS) $(TESTS) + @if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \ + echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \ + fi + @if test -n "$(TEST_PROG_PARA)"; then \ + echo "**** Hint ****"; \ + echo "Parallel test files reside in the current directory" \ + "by default."; \ + echo "Set HDF5_PARAPREFIX to use another directory. E.g.,"; \ + echo " HDF5_PARAPREFIX=/PFS/user/me"; \ + echo " export HDF5_PARAPREFIX"; \ + echo " make check"; \ + echo "**** end of Hint ****"; \ + fi + @for test in $(TEST_PROG_PARA) dummy; do \ + if test $$test != dummy; then \ + $(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \ + RUNTESTS="$(RUNPARALLEL)" || exit 1; \ + fi; \ + done + @for test in $(TEST_SCRIPT_PARA) dummy; do \ + if test $$test != dummy; then \ + $(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ || exit 1; \ + fi; \ + done + @if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \ + echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\ + fi + +# Run test with different Virtual File Driver +check-vfd: $(LIB) $(PROGS) $(TESTS) + @for vfd in $(VFD_LIST) dummy; do \ + if test $$vfd != dummy; then \ + echo "============================"; \ + echo "Testing Virtual File Driver $$vfd"; \ + echo "============================"; \ + $(MAKE) $(AM_MAKEFLAGS) check-clean || exit 1; \ + HDF5_DRIVER=$$vfd $(MAKE) $(AM_MAKEFLAGS) check || exit 1; \ + fi; \ + done +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/perform/chunk b/perform/chunk new file mode 100644 index 0000000..e605d08 --- /dev/null +++ b/perform/chunk @@ -0,0 +1,148 @@ +#! /bin/sh + +# chunk - temporary wrapper script for .libs/chunk +# Generated by ltmain.sh (GNU libtool) 2.2.6 +# +# The chunk program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/abyrne/HDF_Projects/HDF5-C-1.8/perform; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/sbin:/home/abyrne/bin; export PATH; gcc -fPIC -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wunreachable-code -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wvolatile-register-var -Wstrict-overflow -Wlogical-op -Wvla -O0 -fomit-frame-pointer -finline-functions -o \$progdir/\$file chunk.o -L/home/abyrne/HDF_Projects/SZIP/szip/lib ../src/.libs/libhdf5.so /home/abyrne/HDF_Projects/SZIP/szip/lib/libsz.a -lz -lm -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/src/.libs -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/hdf5/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6' + notinst_deplibs=' ../src/libhdf5.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'chunk' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/perform/chunk.chkexe b/perform/chunk.chkexe new file mode 100644 index 0000000..e69de29 diff --git a/perform/chunk.chklog b/perform/chunk.chklog new file mode 100644 index 0000000..875bc00 --- /dev/null +++ b/perform/chunk.chklog @@ -0,0 +1,50 @@ +============================ + chunk Test Log +============================ +Test CacheSz ChunkSz Effic +--------- -------- -------- -------- +Rowmaj-rd 25 0.50 1.00 +Rowmaj-rd 25 1.00 1.00 +Rowmaj-rd 25 1.50 0.75 +Rowmaj-rd 25 2.00 1.00 +Rowmaj-rd 25 2.50 0.83 +Rowmaj-rd 25 3.00 1.00 +Rowmaj-rd 25 3.50 0.87 +Rowmaj-rd 25 4.00 1.00 +Rowmaj-rd 25 4.50 0.91 +Rowmaj-rd 25 5.00 1.00 +Rowmaj-wr 25 0.50 0.50 +Rowmaj-wr 25 1.00 1.00 +Rowmaj-wr 25 1.50 0.45 +Rowmaj-wr 25 2.00 1.00 +Rowmaj-wr 25 2.50 0.57 +Rowmaj-wr 25 3.00 1.00 +Rowmaj-wr 25 3.50 0.63 +Rowmaj-wr 25 4.00 1.00 +Rowmaj-wr 25 4.50 0.72 +Rowmaj-wr 25 5.00 1.00 +Diag-rd 25 0.50 0.26 +Diag-rd 25 1.00 0.51 +Diag-rd 25 1.50 0.62 +Diag-rd 25 2.00 1.00 +Diag-rd 25 2.50 0.72 +Diag-rd 25 3.00 0.80 +Diag-rd 25 3.50 0.78 +Diag-rd 25 4.00 1.00 +Diag-rd 25 4.50 0.84 +Diag-rd 25 5.00 0.89 +Diag-wr 25 0.50 0.13 +Diag-wr 25 1.00 0.26 +Diag-wr 25 1.50 0.31 +Diag-wr 25 2.00 1.00 +Diag-wr 25 2.50 0.41 +Diag-wr 25 3.00 0.53 +Diag-wr 25 3.50 0.49 +Diag-wr 25 4.00 1.00 +Diag-wr 25 4.50 0.58 +Diag-wr 25 5.00 0.69 +0.31user 0.12system 0:00.46elapsed 92%CPU (0avgtext+0avgdata 0maxresident)k +16inputs+7952outputs (0major+9524minor)pagefaults 0swaps + +Finished testing chunk +============================ diff --git a/perform/chunk.h5 b/perform/chunk.h5 new file mode 100644 index 0000000..26ed19f Binary files /dev/null and b/perform/chunk.h5 differ diff --git a/perform/h5perf_serial b/perform/h5perf_serial new file mode 100644 index 0000000..06329d0 --- /dev/null +++ b/perform/h5perf_serial @@ -0,0 +1,148 @@ +#! /bin/sh + +# h5perf_serial - temporary wrapper script for .libs/h5perf_serial +# Generated by ltmain.sh (GNU libtool) 2.2.6 +# +# The h5perf_serial program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/abyrne/HDF_Projects/HDF5-C-1.8/perform; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/sbin:/home/abyrne/bin; export PATH; gcc -fPIC -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wunreachable-code -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wvolatile-register-var -Wstrict-overflow -Wlogical-op -Wvla -O0 -fomit-frame-pointer -finline-functions -o \$progdir/\$file sio_perf.o sio_engine.o sio_timer.o -L/home/abyrne/HDF_Projects/SZIP/szip/lib ../tools/lib/.libs/libh5tools.a ../test/.libs/libh5test.a ../src/.libs/libhdf5.so /home/abyrne/HDF_Projects/SZIP/szip/lib/libsz.a -lz -lm -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/src/.libs -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/hdf5/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6' + notinst_deplibs=' ../src/libhdf5.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'h5perf_serial' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/perform/h5perf_serial.chkexe b/perform/h5perf_serial.chkexe new file mode 100644 index 0000000..e69de29 diff --git a/perform/h5perf_serial.chklog b/perform/h5perf_serial.chklog new file mode 100644 index 0000000..d1bef16 --- /dev/null +++ b/perform/h5perf_serial.chklog @@ -0,0 +1,56 @@ +============================ + h5perf_serial Test Log +============================ +HDF5 Library: Version 1.8.2-post13 +==== Parameters ==== +IO API=posix hdf5 +Number of iterations=1 +Dataset size=100 200 +Transfer buffer size=10 20 +Dimension access order=1 2 +HDF5 data storage method=Contiguous +HDF5 file driver=sec2 +Env HDF5_PREFIX=not set +==== End of Parameters ==== + +Transfer Buffer Size (bytes): 200 +File Size(MB): 0.02 + IO API = POSIX + Write (1 iteration(s)): + Maximum Throughput: 7.20 MB/s + Average Throughput: 7.20 MB/s + Minimum Throughput: 7.20 MB/s + Write Open-Close (1 iteration(s)): + Maximum Throughput: 7.09 MB/s + Average Throughput: 7.09 MB/s + Minimum Throughput: 7.09 MB/s + Read (1 iteration(s)): + Maximum Throughput: 18.81 MB/s + Average Throughput: 18.81 MB/s + Minimum Throughput: 18.81 MB/s + Read Open-Close (1 iteration(s)): + Maximum Throughput: 18.68 MB/s + Average Throughput: 18.68 MB/s + Minimum Throughput: 18.68 MB/s + IO API = HDF5 + Write (1 iteration(s)): + Maximum Throughput: 18.13 MB/s + Average Throughput: 18.13 MB/s + Minimum Throughput: 18.13 MB/s + Write Open-Close (1 iteration(s)): + Maximum Throughput: 5.67 MB/s + Average Throughput: 5.67 MB/s + Minimum Throughput: 5.67 MB/s + Read (1 iteration(s)): + Maximum Throughput: 30.72 MB/s + Average Throughput: 30.72 MB/s + Minimum Throughput: 30.72 MB/s + Read Open-Close (1 iteration(s)): + Maximum Throughput: 13.86 MB/s + Average Throughput: 13.86 MB/s + Minimum Throughput: 13.86 MB/s +0.03user 0.01system 0:00.10elapsed 50%CPU (0avgtext+0avgdata 0maxresident)k +88inputs+232outputs (0major+7732minor)pagefaults 0swaps + +Finished testing h5perf_serial +============================ diff --git a/perform/iopipe b/perform/iopipe new file mode 100644 index 0000000..c596b24 --- /dev/null +++ b/perform/iopipe @@ -0,0 +1,148 @@ +#! /bin/sh + +# iopipe - temporary wrapper script for .libs/iopipe +# Generated by ltmain.sh (GNU libtool) 2.2.6 +# +# The iopipe program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/abyrne/HDF_Projects/HDF5-C-1.8/perform; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/sbin:/home/abyrne/bin; export PATH; gcc -fPIC -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wunreachable-code -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wvolatile-register-var -Wstrict-overflow -Wlogical-op -Wvla -O0 -fomit-frame-pointer -finline-functions -o \$progdir/\$file iopipe.o -L/home/abyrne/HDF_Projects/SZIP/szip/lib ../test/.libs/libh5test.a ../src/.libs/libhdf5.so /home/abyrne/HDF_Projects/SZIP/szip/lib/libsz.a -lz -lm -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/src/.libs -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/hdf5/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6' + notinst_deplibs=' ../src/libhdf5.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'iopipe' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/perform/iopipe.chkexe b/perform/iopipe.chkexe new file mode 100644 index 0000000..e69de29 diff --git a/perform/iopipe.chklog b/perform/iopipe.chklog new file mode 100644 index 0000000..583e8f6 --- /dev/null +++ b/perform/iopipe.chklog @@ -0,0 +1,24 @@ +============================ + iopipe Test Log +============================ +fill raw ============================================= +fill hdf5 ============================================= +out raw ============================================= +out hdf5 ============================================= +in raw ============================================= +in hdf5 ============================================= +in hdf5 partial ============================================= +I/O request size is 1000000.0MB +Before getrusage() call +fill raw 0.01user 0.00system 0.01elapsed 3245.99MB/s +fill hdf5 0.00user 0.00system 0.01elapsed 7754.61MB/s +out raw 0.00user 0.02system 0.02elapsed 2195.15MB/s +out hdf5 0.00user 0.02system 0.02elapsed 2154.40MB/s +in raw 0.00user 0.02system 0.02elapsed 2468.22MB/s +in hdf5 0.00user 0.01system 0.01elapsed 5232.41MB/s +in hdf5 partial 0.02user 0.01system 0.03elapsed 1619.29MB/s +0.09user 0.30system 0:02.44elapsed 16%CPU (0avgtext+0avgdata 0maxresident)k +264inputs+4024outputs (2major+16447minor)pagefaults 0swaps + +Finished testing iopipe +============================ diff --git a/perform/iopipe.h5 b/perform/iopipe.h5 new file mode 100644 index 0000000..1048f34 Binary files /dev/null and b/perform/iopipe.h5 differ diff --git a/perform/iopipe.raw b/perform/iopipe.raw new file mode 100644 index 0000000..7c2624a Binary files /dev/null and b/perform/iopipe.raw differ diff --git a/perform/overhead b/perform/overhead new file mode 100644 index 0000000..4373671 --- /dev/null +++ b/perform/overhead @@ -0,0 +1,148 @@ +#! /bin/sh + +# overhead - temporary wrapper script for .libs/overhead +# Generated by ltmain.sh (GNU libtool) 2.2.6 +# +# The overhead program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/abyrne/HDF_Projects/HDF5-C-1.8/perform; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/sbin:/home/abyrne/bin; export PATH; gcc -fPIC -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wunreachable-code -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wvolatile-register-var -Wstrict-overflow -Wlogical-op -Wvla -O0 -fomit-frame-pointer -finline-functions -o \$progdir/\$file overhead.o -L/home/abyrne/HDF_Projects/SZIP/szip/lib ../src/.libs/libhdf5.so /home/abyrne/HDF_Projects/SZIP/szip/lib/libsz.a -lz -lm -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/src/.libs -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/hdf5/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6' + notinst_deplibs=' ../src/libhdf5.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'overhead' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/perform/overhead.chkexe b/perform/overhead.chkexe new file mode 100644 index 0000000..e69de29 diff --git a/perform/overhead.chklog b/perform/overhead.chklog new file mode 100644 index 0000000..c2e61d2 --- /dev/null +++ b/perform/overhead.chklog @@ -0,0 +1,15 @@ +============================ + overhead Test Log +============================ +Style Bytes/Chunk +----- ----------- +forward 41.320 +reverse 43.416 +inward 70.664 +outward 41.320 +random 53.896 +0.11user 0.05system 0:00.23elapsed 74%CPU (0avgtext+0avgdata 0maxresident)k +16inputs+600outputs (0major+7761minor)pagefaults 0swaps + +Finished testing overhead +============================ diff --git a/perform/perf_meta b/perform/perf_meta new file mode 100644 index 0000000..4ce87eb --- /dev/null +++ b/perform/perf_meta @@ -0,0 +1,148 @@ +#! /bin/sh + +# perf_meta - temporary wrapper script for .libs/perf_meta +# Generated by ltmain.sh (GNU libtool) 2.2.6 +# +# The perf_meta program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/abyrne/HDF_Projects/HDF5-C-1.8/perform; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/sbin:/home/abyrne/bin; export PATH; gcc -fPIC -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wunreachable-code -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wvolatile-register-var -Wstrict-overflow -Wlogical-op -Wvla -O0 -fomit-frame-pointer -finline-functions -o \$progdir/\$file perf_meta.o -L/home/abyrne/HDF_Projects/SZIP/szip/lib ../test/.libs/libh5test.a ../src/.libs/libhdf5.so /home/abyrne/HDF_Projects/SZIP/szip/lib/libsz.a -lz -lm -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/src/.libs -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/hdf5/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6' + notinst_deplibs=' ../src/libhdf5.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'perf_meta' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/perform/perf_meta.chkexe b/perform/perf_meta.chkexe new file mode 100644 index 0000000..e69de29 diff --git a/perform/perf_meta.chklog b/perform/perf_meta.chklog new file mode 100644 index 0000000..14c8e37 --- /dev/null +++ b/perform/perf_meta.chklog @@ -0,0 +1,23 @@ +============================ + perf_meta Test Log +============================ + Performance result of metadata for datasets and attributes + +1. Create 8 attributes for each of 16 existing datasets + H5Dopen2: avg=0.000022s; max=0.000039s; min=0.000019s + H5Dclose: avg=0.000066s; max=0.000905s; min=0.000009s + H5A(create & close): avg=0.000029s; max=0.002232s; min=0.000008s +2. Create 8 attributes for each of 16 new datasets + H5Dcreate2: avg=0.000025s; max=0.000035s; min=0.000021s + H5Dclose: avg=0.000002s; max=0.000003s; min=0.000002s + H5A(create & close): avg=0.000010s; max=0.000020s; min=0.000008s +3. Create 2 attributes for each of 16 existing datasets for 4 times + H5Dopen2: avg=0.000065s; max=0.002824s; min=0.000019s + H5Dclose: avg=0.000009s; max=0.000012s; min=0.000008s + H5A(create & close): avg=0.000013s; max=0.000022s; min=0.000009s +All metadata performance tests passed. +0.03user 0.02system 0:00.15elapsed 37%CPU (0avgtext+0avgdata 0maxresident)k +32inputs+976outputs (0major+7823minor)pagefaults 0swaps + +Finished testing perf_meta +============================ diff --git a/perform/sio_engine.c b/perform/sio_engine.c index d4e7ad3..8e792bd 100644 --- a/perform/sio_engine.c +++ b/perform/sio_engine.c @@ -21,7 +21,9 @@ #include #include #include -#include +#ifdef H5_HAVE_UNISTD_H +# include +#endif #include #include "hdf5.h" @@ -227,7 +229,7 @@ do_sio(parameters param) */ /* Open file for write */ - strcpy(base_name, "#sio_tmp"); + HDstrcpy(base_name, "#sio_tmp"); sio_create_filename(iot, base_name, fname, sizeof(fname), ¶m); if (sio_debug_level > 0) @@ -335,7 +337,7 @@ sio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si } /* First use the environment variable and then try the constant */ - prefix = getenv("HDF5_PREFIX"); + prefix = HDgetenv("HDF5_PREFIX"); #ifdef HDF5_PREFIX if (!prefix) @@ -349,8 +351,8 @@ sio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si * directory instead. */ register char *user, *login, *subdir; - user = getenv("USER"); - login = getenv("LOGIN"); + user = HDgetenv("USER"); + login = HDgetenv("LOGIN"); subdir = (user ? user : login); if (subdir) { @@ -363,24 +365,24 @@ sio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si fullname[i] = subdir[j]; } else { /* We didn't append the prefix yet */ - strncpy(fullname, prefix, MIN(strlen(prefix), size)); + HDstrncpy(fullname, prefix, MIN(HDstrlen(prefix), size)); } - if ((strlen(fullname) + strlen(base_name) + 1) < size) { + if ((HDstrlen(fullname) + HDstrlen(base_name) + 1) < size) { /* Append the base_name with a slash first. Multiple slashes are * handled below. */ h5_stat_t buf; if (HDstat(fullname, &buf) < 0) /* The directory doesn't exist just yet */ - if (mkdir(fullname, (mode_t)0755) < 0 && errno != EEXIST) { + if (HDmkdir(fullname, 0755) < 0 && errno != EEXIST) { /* We couldn't make the "/tmp/${USER,LOGIN}" subdirectory. * Default to PREFIX's original prefix value. */ - strcpy(fullname, prefix); + HDstrcpy(fullname, prefix); } - strcat(fullname, "/"); - strcat(fullname, base_name); + HDstrcat(fullname, "/"); + HDstrcat(fullname, base_name); } else { /* Buffer is too small */ return NULL; @@ -389,19 +391,19 @@ sio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si /* Buffer is too small */ return NULL; } else { - strcpy(fullname, base_name); + HDstrcpy(fullname, base_name); } /* Append a suffix */ if (suffix) { - if (strlen(fullname) + strlen(suffix) >= size) + if (HDstrlen(fullname) + HDstrlen(suffix) >= size) return NULL; - strcat(fullname, suffix); + HDstrcat(fullname, suffix); } /* Remove any double slashes in the filename */ - for (ptr = fullname, i = j = 0; ptr && i < size; i++, ptr++) { + for (ptr = fullname, i = j = 0; ptr && (i < size); i++, ptr++) { if (*ptr != '/' || last != '/') fullname[j++] = *ptr; @@ -537,14 +539,14 @@ do_write(results *res, file_descr *fd, parameters *parms, void *buffer) h5dset_space_id, H5P_DEFAULT, h5dcpl, H5P_DEFAULT); if (h5ds_id < 0) { - fprintf(stderr, "HDF5 Dataset Create failed\n"); + HDfprintf(stderr, "HDF5 Dataset Create failed\n"); GOTOERROR(FAIL); } hrc = H5Pclose(h5dcpl); /* verifying the close of the dcpl */ if (hrc < 0) { - fprintf(stderr, "HDF5 Property List Close failed\n"); + HDfprintf(stderr, "HDF5 Property List Close failed\n"); GOTOERROR(FAIL); } @@ -841,7 +843,7 @@ do_read(results *res, file_descr *fd, parameters *parms, void *buffer) sprintf(dname, "Dataset_%ld", parms->num_bytes); h5ds_id = H5Dopen2(fd->h5fd, dname, H5P_DEFAULT); if (h5ds_id < 0) { - fprintf(stderr, "HDF5 Dataset open failed\n"); + HDfprintf(stderr, "HDF5 Dataset open failed\n"); GOTOERROR(FAIL); } @@ -1048,7 +1050,7 @@ do_fopen(parameters *param, char *fname, file_descr *fd /*out*/, int flags) fd->posixfd = POSIXOPEN(fname, O_RDONLY); if (fd->posixfd < 0 ) { - fprintf(stderr, "POSIX File Open failed(%s)\n", fname); + HDfprintf(stderr, "POSIX File Open failed(%s)\n", fname); GOTOERROR(FAIL); } @@ -1129,7 +1131,7 @@ set_vfd(parameters *param) HDmemset(memb_name, 0, sizeof memb_name); HDmemset(memb_addr, 0, sizeof memb_addr); - assert(HDstrlen(multi_letters)==H5FD_MEM_NTYPES); + HDassert(HDstrlen(multi_letters)==H5FD_MEM_NTYPES); for (mt=H5FD_MEM_DEFAULT; mtoutput_file) { - if ((output = fopen(opts->output_file, "w")) == NULL) { + if ((output = HDfopen(opts->output_file, "w")) == NULL) { fprintf(stderr, "%s: cannot open output file\n", progname); perror(opts->output_file); goto finish; @@ -918,7 +918,7 @@ report_parameters(struct options *opts) } { - char *prefix = getenv("HDF5_PREFIX"); + char *prefix = HDgetenv("HDF5_PREFIX"); HDfprintf(output, "Env HDF5_PREFIX=%s\n", (prefix ? prefix : "not set")); @@ -992,9 +992,9 @@ parse_command_line(int argc, char *argv[]) if (isalnum(*end) && i < 10) buf[i++] = *end; - if (!strcasecmp(buf, "hdf5")) { + if (!HDstrcasecmp(buf, "hdf5")) { cl_opts->io_types |= SIO_HDF5; - } else if (!strcasecmp(buf, "posix")) { + } else if (!HDstrcasecmp(buf, "posix")) { cl_opts->io_types |= SIO_POSIX; } else { fprintf(stderr, "sio_perf: invalid --api option %s\n", @@ -1145,19 +1145,19 @@ parse_command_line(int argc, char *argv[]) cl_opts->h5_threshold = parse_size_directive(opt_arg); break; case 'v': - if (!strcasecmp(opt_arg, "sec2")) { + if (!HDstrcasecmp(opt_arg, "sec2")) { cl_opts->vfd=sec2; - } else if (!strcasecmp(opt_arg, "stdio")) { + } else if (!HDstrcasecmp(opt_arg, "stdio")) { cl_opts->vfd=stdio; - } else if (!strcasecmp(opt_arg, "core")) { + } else if (!HDstrcasecmp(opt_arg, "core")) { cl_opts->vfd=core; - } else if (!strcasecmp(opt_arg, "split")) { + } else if (!HDstrcasecmp(opt_arg, "split")) { cl_opts->vfd=split; - } else if (!strcasecmp(opt_arg, "multi")) { + } else if (!HDstrcasecmp(opt_arg, "multi")) { cl_opts->vfd=multi; - } else if (!strcasecmp(opt_arg, "family")) { + } else if (!HDstrcasecmp(opt_arg, "family")) { cl_opts->vfd=family; - } else if (!strcasecmp(opt_arg, "direct")) { + } else if (!HDstrcasecmp(opt_arg, "direct")) { cl_opts->vfd=direct; } else { fprintf(stderr, "sio_perf: invalid --api option %s\n", diff --git a/perform/sio_timer.c b/perform/sio_timer.c index cce4f4b..f188a10 100644 --- a/perform/sio_timer.c +++ b/perform/sio_timer.c @@ -1,197 +1,197 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by The HDF Group. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - * Purpose: - * - * This is a module of useful timing functions for performance testing. - */ - -#include -#include - -#include "sio_timer.h" - - -#include "sio_perf.h" - -/* - * The number to divide the tv_usec field with to get a nice decimal to add to - * the number of seconds. - */ -#define MICROSECOND 1000000.0 - -/* global variables */ -sio_time *timer_g; /* timer: global for stub functions */ - -/* - * Function: sub_time - * Purpose: Struct two time values, and return the difference, in microseconds - * - * Note that the function assumes that a > b - * Programmer: Leon Arber, 1/27/06 - */ -static double sub_time(struct timeval* a, struct timeval* b) -{ - return (((double)a->tv_sec + - ((double)a->tv_usec) / MICROSECOND) - - ((double)b->tv_sec + - ((double)b->tv_usec) / MICROSECOND)); -} - - -/* - * Function: sio_time_new - * Purpose: Build us a brand, spankin', new performance time object. - * The object is a black box to the user. - * Return: Pointer to sio_time object - * Programmer: Bill Wendling, 01. October 2001 - * Modifications: - */ -sio_time * -sio_time_new(void) -{ - sio_time *pt = (sio_time *)calloc(1, sizeof(struct sio_time_)); - - /* set global timer variable */ - timer_g = pt; - - return pt; -} - -/* - * Function: sio_time_destroy - * Purpose: Remove the memory allocated for the sio_time object. Only - * need to call on a pointer allocated with the ``sio_time_new'' - * function. - * Return: Nothing - * Programmer: Bill Wendling, 01. October 2001 - * Modifications: - */ -void -sio_time_destroy(sio_time *pt) -{ - free(pt); - /* reset the global timer pointer too. */ - timer_g = NULL; -} - - - -/* - * Function: set_time - * Purpose: Set the time in a ``sio_time'' object. - * Return: Pointer to the passed in ``sio_time'' object. - * Programmer: Bill Wendling, 01. October 2001 - * Modifications: - */ -sio_time * -set_time(sio_time *pt, timer_type t, int start_stop) -{ - if (pt) { - if (start_stop == START) { - gettimeofday(&pt->sys_timer[t], NULL); - - /* When we start the timer for HDF5_FINE_WRITE_FIXED_DIMS or HDF5_FINE_READ_FIXED_DIMS - * we compute the time it took to only open the file */ - if(t == HDF5_FINE_WRITE_FIXED_DIMS) - pt->total_time[HDF5_FILE_WRITE_OPEN] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_GROSS_WRITE_FIXED_DIMS])); - else if(t == HDF5_FINE_READ_FIXED_DIMS) - pt->total_time[HDF5_FILE_READ_OPEN] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_GROSS_READ_FIXED_DIMS])); - - - } else { - struct timeval sys_t; - - gettimeofday(&sys_t, NULL); - pt->total_time[t] += sub_time(&sys_t, &(pt->sys_timer[t])); - -/* ((double)sys_t.tv_sec + - ((double)sys_t.tv_usec) / MICROSECOND) - - ((double)pt->sys_timer[t].tv_sec + - ((double)pt->sys_timer[t].tv_usec) / MICROSECOND);*/ - - /* When we stop the timer for HDF5_GROSS_WRITE_FIXED_DIMS or HDF5_GROSS_READ_FIXED_DIMS - * we compute the time it took to close the file after the last read/write finished */ - if(t == HDF5_GROSS_WRITE_FIXED_DIMS) - pt->total_time[HDF5_FILE_WRITE_CLOSE] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_FINE_WRITE_FIXED_DIMS])); - else if(t == HDF5_GROSS_READ_FIXED_DIMS) - pt->total_time[HDF5_FILE_READ_CLOSE] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_FINE_READ_FIXED_DIMS])); - - } - - if (sio_debug_level >= 4) { - const char *msg; - - switch (t) { - case HDF5_FILE_OPENCLOSE: - msg = "File Open/Close"; - break; - case HDF5_DATASET_CREATE: - msg = "Dataset Create"; - break; - case HDF5_MPI_WRITE: - msg = "MPI Write"; - break; - case HDF5_MPI_READ: - msg = "MPI Read"; - break; - case HDF5_FINE_WRITE_FIXED_DIMS: - msg = "Fine Write"; - break; - case HDF5_FINE_READ_FIXED_DIMS: - msg = "Fine Read"; - break; - case HDF5_GROSS_WRITE_FIXED_DIMS: - msg = "Gross Write"; - break; - case HDF5_GROSS_READ_FIXED_DIMS: - msg = "Gross Read"; - break; - case HDF5_RAW_WRITE_FIXED_DIMS: - msg = "Raw Write"; - break; - case HDF5_RAW_READ_FIXED_DIMS: - msg = "Raw Read"; - break; - default: - msg = "Unknown Timer"; - break; - } - - fprintf(output, " %s %s: %.2f\n", msg, - (start_stop == START ? "Start" : "Stop"), - pt->total_time[t]); - } - } - - return pt; -} - -/* - * Function: get_time - * Purpose: Get the time from a ``sio_time'' object. - * Return: The number of seconds as a DOUBLE. - * Programmer: Bill Wendling, 01. October 2001 - * Modifications: - */ -double -get_time(sio_time *pt, timer_type t) -{ - return pt->total_time[t]; -} -#ifdef STANDALONE -#include "sio_standalone.c" -#endif - +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* + * Purpose: + * + * This is a module of useful timing functions for performance testing. + */ + +#include +#include + +#include "sio_timer.h" + + +#include "sio_perf.h" + +/* + * The number to divide the tv_usec field with to get a nice decimal to add to + * the number of seconds. + */ +#define MICROSECOND 1000000.0 + +/* global variables */ +sio_time *timer_g; /* timer: global for stub functions */ + +/* + * Function: sub_time + * Purpose: Struct two time values, and return the difference, in microseconds + * + * Note that the function assumes that a > b + * Programmer: Leon Arber, 1/27/06 + */ +static double sub_time(struct timeval* a, struct timeval* b) +{ + return (((double)a->tv_sec + + ((double)a->tv_usec) / MICROSECOND) - + ((double)b->tv_sec + + ((double)b->tv_usec) / MICROSECOND)); +} + + +/* + * Function: sio_time_new + * Purpose: Build us a brand, spankin', new performance time object. + * The object is a black box to the user. + * Return: Pointer to sio_time object + * Programmer: Bill Wendling, 01. October 2001 + * Modifications: + */ +sio_time * +sio_time_new(void) +{ + sio_time *pt = (sio_time *)calloc(1, sizeof(struct sio_time_)); + + /* set global timer variable */ + timer_g = pt; + + return pt; +} + +/* + * Function: sio_time_destroy + * Purpose: Remove the memory allocated for the sio_time object. Only + * need to call on a pointer allocated with the ``sio_time_new'' + * function. + * Return: Nothing + * Programmer: Bill Wendling, 01. October 2001 + * Modifications: + */ +void +sio_time_destroy(sio_time *pt) +{ + free(pt); + /* reset the global timer pointer too. */ + timer_g = NULL; +} + + + +/* + * Function: set_time + * Purpose: Set the time in a ``sio_time'' object. + * Return: Pointer to the passed in ``sio_time'' object. + * Programmer: Bill Wendling, 01. October 2001 + * Modifications: + */ +sio_time * +set_time(sio_time *pt, timer_type t, int start_stop) +{ + if (pt) { + if (start_stop == START) { + HDgettimeofday(&pt->sys_timer[t], NULL); + + /* When we start the timer for HDF5_FINE_WRITE_FIXED_DIMS or HDF5_FINE_READ_FIXED_DIMS + * we compute the time it took to only open the file */ + if(t == HDF5_FINE_WRITE_FIXED_DIMS) + pt->total_time[HDF5_FILE_WRITE_OPEN] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_GROSS_WRITE_FIXED_DIMS])); + else if(t == HDF5_FINE_READ_FIXED_DIMS) + pt->total_time[HDF5_FILE_READ_OPEN] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_GROSS_READ_FIXED_DIMS])); + + + } else { + struct timeval sys_t; + + HDgettimeofday(&sys_t, NULL); + pt->total_time[t] += sub_time(&sys_t, &(pt->sys_timer[t])); + +/* ((double)sys_t.tv_sec + + ((double)sys_t.tv_usec) / MICROSECOND) - + ((double)pt->sys_timer[t].tv_sec + + ((double)pt->sys_timer[t].tv_usec) / MICROSECOND);*/ + + /* When we stop the timer for HDF5_GROSS_WRITE_FIXED_DIMS or HDF5_GROSS_READ_FIXED_DIMS + * we compute the time it took to close the file after the last read/write finished */ + if(t == HDF5_GROSS_WRITE_FIXED_DIMS) + pt->total_time[HDF5_FILE_WRITE_CLOSE] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_FINE_WRITE_FIXED_DIMS])); + else if(t == HDF5_GROSS_READ_FIXED_DIMS) + pt->total_time[HDF5_FILE_READ_CLOSE] += sub_time(&(pt->sys_timer[t]), &(pt->sys_timer[HDF5_FINE_READ_FIXED_DIMS])); + + } + + if (sio_debug_level >= 4) { + const char *msg; + + switch (t) { + case HDF5_FILE_OPENCLOSE: + msg = "File Open/Close"; + break; + case HDF5_DATASET_CREATE: + msg = "Dataset Create"; + break; + case HDF5_MPI_WRITE: + msg = "MPI Write"; + break; + case HDF5_MPI_READ: + msg = "MPI Read"; + break; + case HDF5_FINE_WRITE_FIXED_DIMS: + msg = "Fine Write"; + break; + case HDF5_FINE_READ_FIXED_DIMS: + msg = "Fine Read"; + break; + case HDF5_GROSS_WRITE_FIXED_DIMS: + msg = "Gross Write"; + break; + case HDF5_GROSS_READ_FIXED_DIMS: + msg = "Gross Read"; + break; + case HDF5_RAW_WRITE_FIXED_DIMS: + msg = "Raw Write"; + break; + case HDF5_RAW_READ_FIXED_DIMS: + msg = "Raw Read"; + break; + default: + msg = "Unknown Timer"; + break; + } + + fprintf(output, " %s %s: %.2f\n", msg, + (start_stop == START ? "Start" : "Stop"), + pt->total_time[t]); + } + } + + return pt; +} + +/* + * Function: get_time + * Purpose: Get the time from a ``sio_time'' object. + * Return: The number of seconds as a DOUBLE. + * Programmer: Bill Wendling, 01. October 2001 + * Modifications: + */ +double +get_time(sio_time *pt, timer_type t) +{ + return pt->total_time[t]; +} +#ifdef STANDALONE +#include "sio_standalone.c" +#endif + diff --git a/perform/sio_timer.h b/perform/sio_timer.h index 445a02e..943ce28 100644 --- a/perform/sio_timer.h +++ b/perform/sio_timer.h @@ -26,6 +26,10 @@ # include #endif +#ifdef _WIN32 +# include +#endif /* _WIN32 */ + /* The different types of timers we can have */ typedef enum timer_type_ { HDF5_FILE_OPENCLOSE, diff --git a/perform/x-diag-rd.dat b/perform/x-diag-rd.dat new file mode 100644 index 0000000..f5588f6 --- /dev/null +++ b/perform/x-diag-rd.dat @@ -0,0 +1,11 @@ +0.5 0.256466 +1 0.508621 +1.5 0.625 +2 1 +2.5 0.71875 +3 0.801887 +3.5 0.77877 +4 1 +4.5 0.840372 +5 0.892857 + diff --git a/perform/x-diag-wr.dat b/perform/x-diag-wr.dat new file mode 100644 index 0000000..d3e86b1 --- /dev/null +++ b/perform/x-diag-wr.dat @@ -0,0 +1,11 @@ +0.5 0.128233 +1 0.256522 +1.5 0.314748 +2 1 +2.5 0.410714 +3 0.53125 +3.5 0.485767 +4 1 +4.5 0.578488 +5 0.690955 + diff --git a/perform/x-gnuplot b/perform/x-gnuplot new file mode 100644 index 0000000..c6d8f44 --- /dev/null +++ b/perform/x-gnuplot @@ -0,0 +1,44 @@ +set yrange [0:1.2] +set ytics 0, 0.1, 1 +set xlabel "Request size as a fraction of chunk size" +set ylabel "Efficiency" +set title "Cache 25 chunks, w0=0.75, Size=(total=2000, chunk=100)" +set terminal postscript +set output "x-rowmaj-rd.ps" +plot "x-rowmaj-rd.dat" title "RowMaj-Read" with lines +set terminal x11 +replot +pause -1 +set yrange [0:1.2] +set ytics 0, 0.1, 1 +set xlabel "Request size as a fraction of chunk size" +set ylabel "Efficiency" +set title "Cache 25 chunks,w0=0.75, Size=(total=2000, chunk=100)" +set terminal postscript +set output "x-rowmaj-wr.ps" +plot "x-rowmaj-wr.dat" title "RowMaj-Write" with lines +set terminal x11 +replot +pause -1 +set yrange [0:1.2] +set ytics 0, 0.1, 1 +set xlabel "Request size as a fraction of chunk size" +set ylabel "Efficiency" +set title "Cache 25 chunks,w0=0.75, Size=(total=2000, chunk=100)" +set terminal postscript +set output "x-diag-rd.ps" +plot "x-diag-rd.dat" title "Diag-Read" with lines +set terminal x11 +replot +pause -1 +set yrange [0:1.2] +set ytics 0, 0.1, 1 +set xlabel "Request size as a fraction of chunk size" +set ylabel "Efficiency" +set title "Cache 25 chunks, w0=0.75, Size=(total=2000, chunk=100)" +set terminal postscript +set output "x-diag-wr.ps" +plot "x-diag-wr.dat" title "Diag-Write" with lines +set terminal x11 +replot +pause -1 diff --git a/perform/x-rowmaj-rd.dat b/perform/x-rowmaj-rd.dat new file mode 100644 index 0000000..43c1bcb --- /dev/null +++ b/perform/x-rowmaj-rd.dat @@ -0,0 +1,11 @@ +0.5 1 +1 1 +1.5 0.750469 +2 1 +2.5 0.833333 +3 1 +3.5 0.869565 +4 1 +4.5 0.909091 +5 1 + diff --git a/perform/x-rowmaj-wr.dat b/perform/x-rowmaj-wr.dat new file mode 100644 index 0000000..600859b --- /dev/null +++ b/perform/x-rowmaj-wr.dat @@ -0,0 +1,11 @@ +0.5 0.5 +1 1 +1.5 0.445931 +2 1 +2.5 0.568182 +3 1 +3.5 0.633914 +4 1 +4.5 0.719424 +5 1 + diff --git a/perform/zip_perf b/perform/zip_perf new file mode 100644 index 0000000..22213f6 --- /dev/null +++ b/perform/zip_perf @@ -0,0 +1,148 @@ +#! /bin/sh + +# zip_perf - temporary wrapper script for .libs/zip_perf +# Generated by ltmain.sh (GNU libtool) 2.2.6 +# +# The zip_perf program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/abyrne/HDF_Projects/HDF5-C-1.8/perform; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/sbin:/home/abyrne/bin; export PATH; gcc -fPIC -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wunreachable-code -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wvolatile-register-var -Wstrict-overflow -Wlogical-op -Wvla -O0 -fomit-frame-pointer -finline-functions -o \$progdir/\$file zip_perf.o -L/home/abyrne/HDF_Projects/SZIP/szip/lib ../tools/lib/.libs/libh5tools.a ../test/.libs/libh5test.a ../src/.libs/libhdf5.so /home/abyrne/HDF_Projects/SZIP/szip/lib/libsz.a -lz -lm -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/src/.libs -Wl,-rpath -Wl,/home/abyrne/HDF_Projects/HDF5-C-1.8/hdf5/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6' + notinst_deplibs=' ../src/libhdf5.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'zip_perf' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/perform/zip_perf.chkexe b/perform/zip_perf.chkexe new file mode 100644 index 0000000..e69de29 diff --git a/perform/zip_perf.chklog b/perform/zip_perf.chklog new file mode 100644 index 0000000..156146f --- /dev/null +++ b/perform/zip_perf.chklog @@ -0,0 +1,38 @@ +============================ + zip_perf Test Log +============================ +Filesize: 67108864 +Compression Level: 6 +Buffer size == 128KB + Uncompressed Write Time: 0.14s + Uncompressed Write Throughput: 474.05MB/s + Compression Ratio: 0.00113678 + Compressed Write Time: 0.75s + Compressed Write Throughput: 85.06MB/s + Compression Time: 0.738815s +Buffer size == 256KB + Uncompressed Write Time: 0.12s + Uncompressed Write Throughput: 556.16MB/s + Compression Ratio: 0.00105667 + Compressed Write Time: 0.74s + Compressed Write Throughput: 86.99MB/s + Compression Time: 0.733302s +Buffer size == 512KB + Uncompressed Write Time: 0.12s + Uncompressed Write Throughput: 547.23MB/s + Compression Ratio: 0.0010128 + Compressed Write Time: 0.76s + Compressed Write Throughput: 84.15MB/s + Compression Time: 0.758976s +Buffer size == 1MB + Uncompressed Write Time: 0.12s + Uncompressed Write Throughput: 540.06MB/s + Compression Ratio: 0.000990868 + Compressed Write Time: 0.76s + Compressed Write Throughput: 84.04MB/s + Compression Time: 0.760352s +2.94user 0.63system 0:03.75elapsed 95%CPU (0avgtext+0avgdata 0maxresident)k +32inputs+528768outputs (0major+34635minor)pagefaults 0swaps + +Finished testing zip_perf +============================ -- cgit v0.12