Commit Graph

346 Commits

Author SHA1 Message Date
Albert Cheng
f68a2e6db7 [svn-r11034] Purpose:
bug fix.

Description:
-nt is not a universal option for the test command in all platforms.
The use of it in conclude.am cause some platforms to bark at the
Makefile generated.

Solution:
Created a command script bin/newer which tests if file1 is newer
than file2.  Replace the "test file1 -nt file2" by
"newer file1 file2".

Platforms tested:
Tested in sol.
2005-07-06 23:52:45 -05:00
Leon Arber
3781d2ed5a [svn-r11033] Purpose:
Feature

Description:
gen_report.pl throws away the plotting commands used to make the plots
in gnuplot.

Solution:
Deciding that these commands may be useful if the someone wants to reproduce
the plots (or, more importantly, manipulate them further in gnuplot), the
commands are now saved in a file called gnuplot.script

Platforms tested:
colonelk

Misc. update:
2005-07-06 17:14:05 -05:00
Leon Arber
4ca9441078 [svn-r11020] Purpose:
Bug fix

Description:
When plotting, if the minimum number of processors was not 1, gen_report.pl would fail.

Solution:
The minimum number of processors in the datafile was inadvertantly hard-coded to be 1.
Fixed it to dynamically determine the number of processors from the data.

Platforms tested:
colonelk.

Misc. update:
2005-07-05 14:31:11 -05:00
James Laird
4cf99e9f28 [svn-r11013] Purpose:
Bug fix

Description:
Fixed bugs that caused tests to be unable to find testhdf5.sh during
daily tests, and another that broke sol and shanti.

Solution:
When tests are run, their path is ./$testname .
When scripts are run, their path has no leading "./".  Fixed.
Sol and shanti don't recognize the -e option for test, but they do know
-f.  Fixed.
Also modified release notes.

Platforms tested:
mir, shanti, heping
2005-07-01 16:22:05 -05:00
James Laird
43f091f462 [svn-r11008] Purpose:
Feature: tests now use parallel make and only run once

Description:
When make is invoked in parallel (using the -j option), several tests will
now be run simultaneously.  This should speed up testing on a number of
systems.
When a test passes, it creates a foo.chkexe or foo.chksh file, which prevents
the test from running again unless the test or library changes.

Solution:
Most of the changes live in config/conclude.am.  Added *.chkexe and *.chksh
files to the list of files to be cleaned at "make mostlyclean" time.
Parallel tests still run one at a time, but use the same make instructions
as serial tests.

Platforms tested:
mir, eirene, sleipnir, pommier, copper, modi4 (some errors occurred, probably
due to the test being run before updating hdf5.  Will re-run tests after
checkin.)
2005-06-30 18:35:32 -05:00
Albert Cheng
65107926e1 [svn-r10858] Purpose:
bug fix.

Description:
The check-s and check-p targets are not recursively passes down.
Make them so.

Platforms tested:
heping (serial and pp).
2005-06-04 00:01:12 -05:00
Albert Cheng
a2217d58c8 [svn-r10849] Purpose:
bug fix

Description:
check-s and check-p were set as pre-requistics of test.  They
would get executed in parallel if parallel make is used.  This
could cause problems since serial tests are used to be executed
before parallel tests. It is not known if it is always okay to
run serial and parallel tests in simultantously.

Solution:
Change check-s and check-p as actions of the target test so
that they get executed sequnentially.

Platforms tested:
heping PP.
2005-06-02 18:42:48 -05:00
James Laird
2423bd6cab [svn-r10840] Purpose:
Added check-s and check-p targets.

Description:
Added check-s and check-p targets to 1.7 branch to match changes to 1.6
branch.  Now parallel and serial tests can be run separately.

Platforms tested:
mir, modi4, copper
2005-06-01 20:51:52 -05:00
Elena Pourmal
5279827823 [svn-r10570] Purpose: Maintenance
Description: Removed support for SRB driver

Solution: Removed or modified appropriate files; ran reconfigure
          to regenerate Makefile.in and configure files.

Platforms tested: heping and shanti

Misc. update: ran bin/chkmanifest on heping
2005-04-07 14:41:25 -05:00
James Laird
686e4f3501 [svn-r10560] Purpose:
Feature: make install now installs h5perf

Description:
h5perf is now installed in hdf5/bin during 'make install.'
Same change as in the 1.6 branch.

Platforms tested:
mir
2005-04-06 13:25:22 -05:00
James Laird
b296a419c4 [svn-r10534] Purpose:
Configuration feature

Description:
Different Fortran compilers mangle function names in different ways
(upper case, lower case, adding underscores).  To link between
Fortran and C functions, we need to know what a given function's
name is under a given compiler.

Solution:
Use autoconf's FC_WRAPPERS check to determine the Fortran
naming scheme and define the FC_FUNC_ macro to name our
functions (in H5f90proto.h).  Removed references to
our old FNAME macro, as well as flags that indicated whether
function names were upper or lower case.

Platforms tested:
mir, pommier, modi4, copper, more
2005-04-04 16:17:51 -05:00
James Laird
59ec5b3d66 [svn-r10517] Purpose:
Bug fix

Description:
On some machines, $RUNSERIAL variable needs to be used to run
tests.  Set $RUNTESTS (which is used for non-parallel tests) to
be $RUNSERIAL in configure.am.

Also, since I was updating all Makefiles.in anyway, I updated
commence.am to point to autotools installs in AFS instead of
those on heping.

Platforms tested:
mir, sleipnir, modi4, copper
2005-03-31 13:26:17 -05:00
James Laird
14e06e81cb [svn-r10511]
Purpose:
"Bug fix"

Description:
Hardcoded Makefiles to use /bin/sh instead of letting configure
detect shell automatically.  This is what v1.6 does, and avoids
problems on janus.

Platforms tested:
sleipnir, copper, modi4, mir
2005-03-30 16:14:48 -05:00
James Laird
7acf3f1b12 [svn-r10475] Purpose:
Feature - conditional compilation

Description:
SRB file driver and tests are now compiled only when SRB is enabled
(using --with-srb during configure).

Solution:
Added an automake conditional in configure.in, altered Makefiles.am in
src and test directories to depend on that conditional.
This should make a nice example for posterity to add conditionally
compiled sources.

Platforms tested:
heping (only configure change)
2005-03-29 12:38:17 -05:00
James Laird
9452992c09 [svn-r10459]
Purpose:
Added C++ wrapper for Packet Table API.

Description:
Added macro for high-level C++ library (LIBH5CPP_HL), which changes every
Makefile.in.
Added directories for high-level C++ library (though currently only Packet
Table API is supported).
Added both C++ source and tests.

Platforms tested:
sleipnir, mir, modi4

Misc. update:
2005-03-28 11:32:20 -05:00
James Laird
25df1908bc [svn-r10158] Purpose:
Automake version upgrade

Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.

Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
2005-03-07 12:57:27 -05:00
Albert Cheng
0d514907a9 [svn-r10123] Purpose:
Removed GASS configuration and software packages associated with
it.  The following software are no longer configurable.

checking for main in -lcrypto... yes
checking for SSL_get_version in -lssl... yes
checking globus_common.h usability... yes
checking globus_common.h presence... yes
checking for globus_common.h... yes
checking for globus_module_activate in -lglobus_common... yes
checking for main in -lglobus_gass_cache... yes
checking for main in -lglobus_gaa... yes
checking for main in -lglobus_gss... yes
checking for main in -lglobus_gss_assist... yes
checking for main in -lglobus_io... yes
checking for main in -lglobus_gass_transfer_assist... yes
checking for main in -lglobus_gass_transfer... yes
checking for globus_gass_open in -lglobus_gass_file... yes

Platforms tested:
h5committested (but copper was down.) tested in modi4 too.
2005-03-02 15:02:55 -05:00
James Laird
0b83fea125 [svn-r10066] Purpose:
Libtool upgrade

Description:
HDF5 was using libtool 1.4.2.  Upgraded to libtool 1.5.14.

Platforms tested:
verbena, heping, pommier, copper, modi4, arabica
2005-02-23 11:47:00 -05:00
Xiaowen Wu
065fe7bb71 [svn-r10023] Purpose:
New feature.

Description:
    Add the scaleoffset internal library filter.

Solution:

Platforms tested:
    heping, copper, arabica

Misc. update:
2005-02-16 21:52:21 -05:00
James Laird
8ed95c0011 [svn-r10016]
Purpose:
Bug fix

Description:
modi4 dies during build with strange errors.
The root cause of these is a two-year-old hack in HDF5's libtool
script that only takes effect on IRIX.

Solution:
Edited the libtool hack (by editing ltmain.sh) to correct a bug in
the hack.
Also made sure that compiler-specific DEFAULT_LIBS are used
when linking.

Platforms tested:
sleipnir, copper, modi4, sol
2005-02-16 14:27:27 -05:00
James Laird
b96f342722 [svn-r9993] Purpose:
Bug fix

Description:
Arabica exhibited strange errors when linker found wrong versions of
header files.  This happened because include directories were
given to linker in the wrong order.

Solution:
Move include directories from AM_CFLAGS variable to INCLUDES
variable to put them before CPPFLAGS variable.  Trust me, it works.
This bug may also have contributed to strange errors on other platforms
(kelgia?).

Platforms tested:
copper, sleipnir, arabica.
	(h5dump broke while building on arabica, but this happened in
	a clean checkout, too).
2005-02-11 16:32:22 -05:00
James Laird
3f0a35a4ea [svn-r9988] Purpose:
Bug fix

Description:
pmake (on modi4, for instance) complains about undefined variables
if it is run without the -V flag, which turns those errors to warnings.

Solution:
Added test to configure.in to see if $MAKE will allow Makefiles
with undefined variables.  If not, sets -V flag in AM_MAKEFLAGS.
Ensured that all custom make targets use AM_MAKEFLAGS.
Also defined all variables that caused errors in top-level Makefile.am.
This means that pmake can be used to build hdf5 *from the top level
only*.  To run make from a subdirectory, still need to use -V flag
(or use make or gmake).

Platforms tested:
modi4, heping, copper, sleipnir
2005-02-11 12:40:52 -05:00
James Laird
db2575baa9 [svn-r9930]
Purpose:
Bug fix

Description:
Parallel builds were breaking in tools/lib

Solution:
talign didn't realize it depended on libh5tools.la because its
dependencies listed the full path (../../tools/lib/libh5tools.la).
Changed this, and made similar changes in a couple of other
directories.
This checkin should also add the --foreign flag to every Makefile.in

Platforms tested:
sleipnir (minor change)
2005-02-03 16:59:40 -05:00
Quincey Koziol
0b332ace5e [svn-r9928] Purpose:
New feature

Description:
    Add basic code for new B-tree implementation.  They don't do much yet,
aren't hooked up to anything yet and the format may change, but I'd like to
start getting them into the daily tests.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-02-03 14:59:05 -05:00
James Laird
ab243bf369 [svn-r9920] Purpose:
Bug fix

Description:
Found the permanant fix to automake/CVS dependency problem

Solution:
Added AM_MAINTAINER_MODE macro to configure.in.
Now automake will never try to regenerate Makefiles, Makefiles.in,
configure, H5config.h, etc. when they are out of date, nor will it
print any warnings.
Developers should  be very very careful to use reconfigure script,
and can add --enable-maintainer-mode flag to configure on heping
to regenerate these files correctly.

Platforms tested:
heping sleipnir copper
2005-02-02 15:59:46 -05:00
James Laird
ed8685acd2 [svn-r9915] Purpose:
Bug fix

Description:
Configuration files' timestamps were incorrect.

Solution:
Update Makefiles.in.  Also added correct paths to autotools on heping,
so heping build should be able to re-generate configuration files even
if they are still broken.

Platforms tested:
sleipnir
2005-02-02 11:00:36 -05:00
James Laird
e3dacb31be [svn-r9912] Purpose:
Bug fix

Description:
Dependencies between configure files (aclocal, configure.in, configure,
Makefiles.am and .in) are still causing Makefiles to try to run autotools
during build.

Solution:
Committed all Makefiles.in to update their timestamps.
As a temporary measure, forcibly prevented automake from running
autotools during build by redefining the variables it uses.

Platforms tested:
sleipnir (No changes to Makefile content)
2005-02-01 16:05:33 -05:00
James Laird
30bfb1e0ea [svn-r9907] Purpose:
Bug fix

Description:
Different compilers use different flags to include Fortran module files

Solution:
Changed boilerplate to use configure variable rather than hardcoded -M flag.

Platforms tested:
sleipnir, sol, copper
2005-02-01 10:27:37 -05:00
James Laird
26303241fe [svn-r9902] Purpose:
Configuration feature

Description:
HDF5 now uses automake to generate Makefiles

Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh

Platforms tested:
Many
2005-01-31 22:17:02 -05:00
Leon Arber
046fe35568 [svn-r9876] Purpose:
Added ability to select which io performance types to graph

Description:
Originally, POSIX, MPIO, and PHDF5 were all graphed.  Now, any subset of these can be graphed individually via the io_type command-line param.

Platforms tested:
heping

Misc. update:
2005-01-27 16:59:34 -05:00
Leon Arber
3cb812ae8a [svn-r9871] Purpose:
Feature additions:
    script has support for all sorts of interesting plots.
    fix axis scaling

Description:
Added support for 2-d and 3-d plots of the data.  Command-line options are also added to customize these plots.
Axis tick labels are now much improved and match the data and are logically spaced.

Platforms tested:
heping (gnuplot must be installed to do the plots)

Misc. update:
2005-01-26 15:04:56 -05:00
Albert Cheng
0fbfc1f7ed [svn-r9867] Purpose:
Bug fixes (provided by Leon Arber).

Description:
gen_report spewed many messages and could not report speeds that are
less than 100MB/s.

Solution:
Removed -w which prints warning messages.
Fixed code to recognize speeds under 100MB/s.

Platforms tested:
Eirene.
2005-01-24 15:02:52 -05:00
Xuan Bai
ea2dd2a44a [svn-r9844] Purpose:
Bug fix.

Description:
Function _flushall() is not available on Cygwin.  So a Cgywin macro is added so the compiler will not call this function when building HDF5 on Cygwin.

Solution:
Change the following codes:

#ifdef H5_HAVE_SYSTEM
#ifdefined WIN32
	_flushall();
#else
    HDsystem ("sync");
    HDsystem ("df >/dev/null");
#endif

to:

#ifdef H5_HAVE_SYSTEM
#if defined(WIN32) && ! defined(__CYGWIN__)
	_flushall();
#else
    HDsystem ("sync");
    HDsystem ("df >/dev/null");
#endif



Platforms tested:
Cygwin 1.5.11, VC 6.0 on XP.
Linux 2.4 (heping)
Solaris 2.7 (arabica)

Misc. update:
2005-01-20 15:46:33 -05:00
Quincey Koziol
76ba1a99d3 [svn-r9805] Purpose:
Code cleanup

Description:
    Remove obsolete support for Watcom C compiler.

Platforms tested:
    None - too minor to require any.
2005-01-11 10:43:13 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Raymond Lu
cb7f03a26f [svn-r9183] Purpose: New feature
Description:  Restore 6 old error API functions back to the library to be backward
compatible with v1.6.  They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto.  These functions do not have error stack  as parameter.

Solution:  Internally, these functions use default error stack.

Platforms tested:  h5committest and fuss.

Misc. update: RELEASE.txt
2004-09-01 12:43:30 -05:00
Quincey Koziol
084ed88137 [svn-r8983] Purpose:
Update dependencies

Description:
    Update dependencies after config/depend1.in bugfix

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    IRIX64 6.5 (modi4)
    h5committested
2004-08-02 09:06:07 -05:00
James Laird
eab58732d8 [svn-r8781]
Purpose:
HDF5 now supports SZIP with no encoder.

Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder.  HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.

Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id.  See SZIP RFC.

Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)

Misc. update:
2004-07-01 12:38:04 -05:00
Quincey Koziol
6fc0bffac6 [svn-r8732] Purpose:
Code cleanup

Description:
    Reduce compiler warnings on SGI IRIX

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    SGI IRIX6 (Cheryl's machine)
    Too minor to require full h5committest
2004-06-23 12:56:57 -05:00
Quincey Koziol
4d3188e588 [svn-r8618] Purpose:
Fix makefiles, dependencies & manifest after source file rename.
2004-06-05 14:32:31 -05:00
Quincey Koziol
583bdf994c [svn-r8495] Purpose:
Bug fixes

Description:
    Updated dependencies

    Fixed error with C++ compiler builds of main library

    Added H5Pset_data_transform to MPE info

Platforms tested:
    FreeBSD 4.9 (sleipnir)
2004-05-08 09:48:42 -05:00
Quincey Koziol
2d8964517b [svn-r8128] Purpose:
Update dependencies after restructuring of MPI stuff
2004-01-30 21:32:19 -05:00
Albert Cheng
aaff647518 [svn-r7914] Purpose:
Regenerate the Dependencies files if needed.

Description:

Solution:

Platforms tested:

Misc. update:
2003-12-05 10:39:53 -05:00
Quincey Koziol
8dbb0315c5 [svn-r7884] Purpose:
Small bug fix

Description:
    MPI_DOUBLE_PRECISION -> MPI_DOUBLE in C code.

Platforms tested:
    Cray T3E (hubble)
    Too minor to require h5committest
2003-11-25 15:51:27 -05:00
Raymond Lu
0721b0c992 [svn-r7644] Purpose: Modify a performance test.
Description:  changed some features


Platforms tested: RH 8 and modi4.  Some simple feature changes.
2003-10-15 17:02:16 -05:00
Raymond Lu
a1aa262020 [svn-r7629] Purpose: add a new performance program
Description: This program test performance of create or open datasets and create
             attributes for datasets.


Platforms tested: h5committest

Misc. update: MANIFEST
2003-10-14 17:04:03 -05:00
Quincey Koziol
e2518919c9 [svn-r7626] Purpose:
Update dependencies and tracing information

Platforms tested:
    Linux 2.4 (verbena) w/FORTRAN
    too minor for h5committest
2003-10-14 10:46:38 -05:00
Quincey Koziol
c58d85f10e [svn-r7527] Purpose:
Code cleanup

Description:
    Clean up a few loose ends and warnings for the 1.6 compatibility changes
to the error API.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-09-30 11:20:46 -05:00
Raymond Lu
7e79a8d71e [svn-r7507] *** empty log message *** 2003-09-24 14:26:50 -05:00
Quincey Koziol
4bc1eccf9a [svn-r7439] Purpose:
Code cleanup

Description:
    Clear up a couple of minor issues with compiling the library with a C++
compiler.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Too minor to require h5committest
2003-09-03 11:45:48 -05:00
Albert Cheng
374ad0ef30 [svn-r7361] Description:
Updated the copyright notice--mostly by rearranging
some text to make them consistent.

Solution:

Platforms tested:
"h5committested"--sol is down, so, no SUn test.

Misc. update:
2003-08-13 23:58:29 -05:00
Quincey Koziol
7f119036d3 [svn-r7352] Purpose:
Updated dependencies

Platforms tested:
    h5committested
2003-08-12 20:50:11 -05:00
Bill Wendling
e7bcad6e7b [svn-r7274] *** empty log message *** 2003-07-29 14:24:10 -05:00
Raymond Lu
0d22a663df [svn-r7265] *** empty log message *** 2003-07-25 21:55:47 -05:00
Quincey Koziol
4e23c80758 [svn-r7181] Purpose:
Version update

Description:
    Removed 1.4 compatibility code in the library.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-07-07 14:02:46 -05:00
Albert Cheng
732bb9f065 [svn-r7128] Purpose:
feature change, new feature.

Description:
Had the HDF5_PARAPREFIX default set to /tmp.
Changed it to null so that data files are created in current directory
by default.
Also added a code to print data filename used when debug level > 0.

Platforms tested:
Tested in modi4 parallel.

Misc. update:
2003-06-30 18:38:36 -05:00
Quincey Koziol
600a171546 [svn-r7091] Purpose:
Code cleanup

Description:
    Remove the fill-value option entirely, since the 1.5.x library's default
behavior is now the same as the 1.4.x behavior and also there is no
corresponding code for implementing fill-values with the POSIX or MPI-I/O tests.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/parallel
    too small to need h5committest
2003-06-24 10:37:24 -05:00
Quincey Koziol
4fc73028ed [svn-r7060] Purpose:
Code cleanup

Description:
    Change some variables that are keywords in C++ to non-keywords.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor to require full h5committest
2003-06-18 15:54:19 -05:00
Albert Cheng
ce57ff9668 [svn-r7033] Purpose:
minor improvment

Description:
corrected an omission in the usage help output.
Added more parameters checks.

Solution:

Platforms tested:
Only in modi4.

Misc. update:
2003-06-13 01:57:34 -05:00
Bill Wendling
09da63a8b9 [svn-r7026] Purpose:
Bug Fix

Description:
    On HP-UX platforms, the "open()" function needs to specify that the
    file being created has permissions S_IRWXU, which means that it gives
    read/write/execute permissions to the user who created the file (how
    nice of it!).

Solution:
    Added the S_IRWXU flag to the open() function call.

Platforms tested:
    HP-UX 11
    Arabica,
    Modi4,
    Verbena

Misc. update:
2003-06-11 17:18:37 -05:00
Quincey Koziol
204b899029 [svn-r7019] Purpose:
Compatibility fix

Description:
    The H5P[set|get]_fapl_mpiposix calls changed between v1.4.x and v1.5.x.

Solution:
    Wrap them in the v1.4 backward compatibility #ifdefs and update tests, etc.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/paralle & v1.4 compatibility
    h5committest pointless
2003-06-10 14:05:06 -05:00
Albert Cheng
54b28eeea7 [svn-r6998] Purpose:
"Bug fix"

Description:
This version is showing very slow HDF5 I/O write speeds (about 40%
of MPIO).  It was because the library is writing fill values by
default.  There is a no-fill option which set to FALSE.  Changed
it to TRUE since MPIO and POSIX are not doing fill values.
This is just a stop gap fix since the better fix would be to
change the library to not write fill-values in this case.

Platforms tested:
modi4 parallel and LANL Q paralllel.
No h5committest test because it is very trivia.

Misc. update:
2003-06-09 13:50:59 -05:00
Albert Cheng
4e4ab0d320 [svn-r6989]
Purpose:
Added sanity check that min number of processes be not greater
than max number of processes.

Platforms tested:
copper only since this is a very simple change.

Misc. update:
2003-06-06 16:45:59 -05:00
Albert Cheng
0004209a24 [svn-r6978] Purpose:
Bug fix.

Description:
The default setting of max transfer size is larger than
the default setting of number of bytes per process, result
in complaints that Transfer size is too big.

Solution:
Cap the min and max transfer size with number of bytes per process.
Always cap min transfer size with the max xfer size.

Platforms tested:
Copper.

Misc. update:
2003-06-05 16:15:53 -05:00
Bill Wendling
36a0b8e3dd [svn-r6822] Purpose:
Code Improvements/Bug Fixes

Description:
    Comparison of equality of a double/float variable to 0.0 is not
    guaranteed to work and is bad practice.

Solution:
    Test that the absolute value of the variable is < a very small
    positive number.

Platforms tested:
    Modi4   (Parallel & Fortran)
    Verbena (C++ & Fortran)
    Arabica (Fortran)

Misc. update:
2003-05-07 15:49:51 -05:00
Bill Wendling
eefb691edf [svn-r6809] Purpose:
Bug Fix

Description:
    The "mkstemp()" function isn't as portable as I hoped it would be (it
    fails on Crays and other beasts).

Solution:
    Removed and just use a fixed filename instead.

Platforms tested:
    Linux
    Solaris w/ zlib
    Irix w/ zlib

Misc. update:
2003-05-06 16:04:39 -05:00
Bill Wendling
52ebd22217 [svn-r6806] Purpose:
Bug Fix

Description:
    When I changed the H5P{set,get}_fapl_mpiposix functions to accept
    another parameter, I didn't change it in these files.

Solution:
    Added the new "use_gpfs" parameter.

Platforms tested:
    Modi4 (only affects the parallel stuff, so no need for full testing).

Misc. update:
2003-05-06 12:43:42 -05:00
Raymond Lu
b58192dfe7 [svn-r6779] Purpose: Backward compatibility change
Description: 1.4 compatibility for H5G_obj_t type and H5Zregister test.

Solution: use macro H5_WANT_H5_V1_4_COMPAT

Platforms tested: h5committest
2003-04-29 14:49:48 -05:00
Quincey Koziol
f725c99c60 [svn-r6612] Purpose:
Update code

Description:
    Chase changes for registering filters.

Solution:

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/szip
    Linux 2.4 (sleipnir) w/szip
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/szip, FORTRAN & parallel

Misc. update:
2003-04-08 21:35:36 -05:00
Quincey Koziol
a3a391d457 [svn-r6576] Purpose:
Cleanup

Description:
    Update dependencies.

Solution:

Platforms tested:
    Linux 2.4 (eirene)

Misc. update:
2003-04-03 08:46:11 -05:00
Quincey Koziol
0475dd9a70 [svn-r6412] Purpose:
Code cleanup

Description:
    Update dependencies and clean up a few warnings.

Platforms tested:
    Linux 2.2 (eirene) w/parallel
2003-02-17 12:11:03 -05:00
Albert Cheng
a472b6c30a [svn-r6377] Purpose:
Update
Description:
    version 1.4 has renamed the tool from pio_perf to h5perf.
    Folded the chagne into this branch too.
    Also updated the Copyright notes.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}?  Tested in burrwhite with PP only.
    [If no, why not?]  It is a pretty straight forward Makefile change.
2003-02-06 15:34:56 -05:00
Quincey Koziol
1208e94eff [svn-r6296] Purpose:
Code cleanup

Description:
    Reduce warnings on Windows

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-01-17 15:34:14 -05:00
Quincey Koziol
8e391ad35a [svn-r6269] Purpose:
Code cleanup

Description:
    Various code cleanups to allow the development branch to be compiled with
    a C++ compiler (i.e. CC=g++ )

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    FreeBSD 4.7 (sleipnir) C++
2003-01-13 08:15:49 -05:00
Quincey Koziol
98f01e2df2 [svn-r6255] Purpose:
Code cleanup

Description:
    Clean up a few more warnings and update dependencies.

Platforms tested:
    Linux 2.2.18smp (eirene) serial & parallel
2003-01-09 13:40:19 -05:00
Quincey Koziol
bc2d9432b3 [svn-r6131] Purpose:
Code cleanup

Description:
    Clean up compiler warnings from IRIX64 builds.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-11-21 11:23:38 -05:00
Quincey Koziol
6aa57414fa [svn-r6112] *** empty log message *** 2002-11-20 08:04:10 -05:00
Quincey Koziol
2763df7a3c [svn-r6052] Purpose:
Add benchmark

Description:
    Add multi-D hyperslab benchmark to repo.  It's not hooked up to any makefiles
    yet, so it's not being compiled or tested, etc.  I'm just stashing it here
    so I don't forget about it until I have time to integrate it properly.
2002-11-04 13:45:09 -05:00
Quincey Koziol
5e7f799ca9 [svn-r5985] Purpose:
Code cleanup

Description:
    Cleaned up more compiler warnings...

Platforms tested:
    FreeBSD 4.6 (sleipnir) w and w/o parallel
    Linux 2.2.x (eirene) w/FORTRAN & C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN & parallel
2002-10-14 13:34:47 -05:00
Quincey Koziol
ea08053e29 [svn-r5983] Purpose:
More fixups to the Dependencies files...
2002-10-14 13:11:12 -05:00
Quincey Koziol
a83585acca [svn-r5981] Purpose:
Regenerate Dependencies files.
2002-10-14 09:58:25 -05:00
Bill Wendling
1c2937343e [svn-r5890] Purpose:
Bug Fix
Description:
    Some more naming mistakes.
Solution:
    Stopped calling it ds_start and calling the structure its real name.
Platforms tested:
    NERSC
2002-08-23 14:49:20 -05:00
Bill Wendling
c749cde426 [svn-r5889] Purpose:
Bug Fix
Description:
    Structure elements in the GPFS code weren't named correctly.
Solution:
    Changed the names to the correct values.
2002-08-23 14:36:58 -05:00
Bill Wendling
ceba60418c [svn-r5807] Purpose:
Update, Bug Fix, and Feature Add
Description:
    - Updated how AC_{ENABLE,WITH} help messages were being generated.
      Autoconf now gives you an AC_HELP_STRING macro to use to create
      them.

    - Fixed the problem with Linux LFS on RedHat 7.3 machines. It wasn't
      finding getdents64(), so we can't rely on that being present
      anymore...

    - Added GPFS detection and setting.

    - Updated how compression is specified. It's no longer necessary to
      test for HAVE_ZLIB_H, HAVE_LIBZ, and HAVE_COMPRESS2. The one macro
      {H5_}HAVE_COMPRESSION takes care of all of these.
Solution:
    Changed the check for Linux LFS from looking for getdents() to
    looking at the version number of the kernel (using the uname -r
    command). You can still override with the --enable-linux-lfs switch
    if you really believe that your <2.4 kernel has LFS support.
Platforms tested:
    Linux (2.2 and 2.4)
2002-07-17 11:10:46 -05:00
Quincey Koziol
c3b0c0f3c4 [svn-r5798] Purpose:
New feature.

Description:
    Added MPI-posix VFL driver support.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/parallel & IRIX64 6.5 (modi4) w/parallel
2002-07-15 10:21:05 -05:00
Quincey Koziol
e858a1310d [svn-r5760] Purpose:
New features, etc.

Description:
    Bring over all the recent changes from the release branch.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-07-02 15:06:22 -05:00
Albert Cheng
7d618993c5 [svn-r5729] Purpose:
Bring in sync with v1.4 versions that have copyright statements
    added.
Platforms tested:
    eirene(pp).  Only one machine tested because all changes are merely
    comments.
2002-06-29 19:11:42 -05:00
Quincey Koziol
03ccb39fa9 [svn-r5720] Purpose:
New Feature

Description:
    Added support for collective I/O with MPI and HDF5 access methods.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-06-27 10:09:12 -05:00
Quincey Koziol
925d61b775 [svn-r5718] Purpose:
New Feature

Description:
    Added interleaved block pattern to MPI and HDF5 access methods.  Also,
    changed the blocks to just use the same size as the regular blocks for I/O,
    instead of a separate block size.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-06-27 08:11:31 -05:00
Albert Cheng
4e184b81a2 [svn-r5686] Purpose:
sync with v1.4 of usage messages.
Platforms tested:
    eirene pp.
2002-06-19 22:44:20 -05:00
Quincey Koziol
ea052ffd55 [svn-r5674] Purpose:
Code cleanup

Description:
    Removed more compiler warnings, etc.

Platforms tested:
    Linux 2.2.x (eirene) w/parallel
2002-06-19 11:06:55 -05:00
Quincey Koziol
aefc39ac32 [svn-r5667] Purpose:
Code cleanup

Description:
    Turn on more warnings in the IRIX builds and clean them up.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-06-19 07:54:53 -05:00
Bill Wendling
ad9ca47cec [svn-r5659] Purpose:
Feature Add
Description:
    Allow you to specify the percentage you'd like a random buffer to be
    compressible. It can go from 0% (non-compressible) to 100%
    (completely compressible).
Platforms tested:
    FreeBSD
2002-06-17 16:02:33 -05:00
Bill Wendling
5e12a077ab [svn-r5656] Purpose:
Feature Add
Description:
    Use the /dev/urandom device for random data if it's available. (That
    is stat() doesn't return a -1 when ran on it). Use random() otherwise.
Platforms tested:
    Linux, FreeBSD
2002-06-17 15:01:17 -05:00
Bill Wendling
12e0c2e474 [svn-r5654] Purpose:
Feature Add
Description:
    Added a feature that outputs the total time spent compressing all of
    the blocks of data.
Platforms tested:
    Linux
2002-06-17 12:45:06 -05:00
Quincey Koziol
1ae81a8ede [svn-r5605] Purpose:
Code cleanup

Description:
    Clean up some compiler warnings...

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-06-12 13:24:25 -05:00
Bill Wendling
3bbc9285cf [svn-r5601] Purpose:
More Output
Description:
    Added some more output, including the compression ratio.
Platforms tested:
    Linux, FreeBSD
2002-06-12 10:56:10 -05:00
Bill Wendling
238b9488c1 [svn-r5590] Purpose:
Bug Fix
Description:
    The test for compression needed to be reversed.
Solution:
    Instead of "!(defined...) used just "(defined..."
Platforms tested:
    Modi4
2002-06-11 12:21:12 -05:00
Bill Wendling
1721bcdbb5 [svn-r5587] Purpose:
Bug Fix take 2
Description:
    The check for ZLIB_H wasn't sufficient.
Solution:
    Used the test for compression stuff that was in the test/dsets.c
    file.
2002-06-11 11:24:16 -05:00
Bill Wendling
2f1538cd7a [svn-r5580] Purpose:
Bug Fix
Description:
    Not all platforms have zlib. This shouldn't be compiled then.
Solution:
    ifdef-ed the code out if the zlib wasn't specified.
Platforms tested:
    Linux
2002-06-10 14:53:29 -05:00
Bill Wendling
c6d6257ba2 [svn-r5556] Purpose:
Feature Add
Description:
    Added ability to fill the data buffer with random data.
Platforms tested:
    Linux
2002-06-07 17:23:02 -05:00
Bill Wendling
b77825d9a7 [svn-r5555] Purpose:
Feature Update
Description:
    It now writes an uncompressed version of the file out. The first
    tests didn't look all that wonderful. Here is a typical output:

        Buffer size == 1MB
            Uncompressed Write Time: 0.55s
            Uncompressed Write Throughput: 116.00MB/s
            Compressed Write Time: 8.76s
            Compressed Write Throughput: 7.31MB/s
Platforms tested:
    Linux
2002-06-07 17:06:27 -05:00
Bill Wendling
c8721abdbc [svn-r5554] Purpose:
Compress I/O Test Add
Description:
    This is the initial check-in of the compress I/O test. It will write
    out compressed buffers to a file.

    I need to implement a write of uncompressed data first for
    comparison...
Platforms tested:
    Linux
2002-06-07 16:06:10 -05:00
Quincey Koziol
01f102c2d4 [svn-r5547] Purpose:
Bug fix.

Description:
    H5Fopen call was using H5P_DEFAULT instead of file access flags

Solution:
    Changed H5P_DEFAULT to H5F_ACC_RDONLY

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-06-06 14:09:58 -05:00
Albert Cheng
7292287c89 [svn-r5539] Description:
Added the '-D v' option for "verify data correctness".
Platforms tested:
    modi4, eirene, burrwhite (all pp).
2002-06-05 23:58:29 -05:00
Bill Wendling
12fc7df0d1 [svn-r5531] Purpose:
Feature Add
Description:
    Added support for testing only the "write" operations. Use the "-w"
    or "--write-only" flags for this.
Platforms tested:
    Linux (parallel) & Modi4 (parallel)
2002-06-04 16:31:35 -05:00
Bill Wendling
945e417faa [svn-r5526] Purpose:
Bug Fix
Description:
    Still was calling the POSIX stuff "Raw".
Solution:
    Changed name to POSIX instead of Raw...
Platforms tested:
    Linux
2002-06-04 11:54:46 -05:00
Bill Wendling
0cbb77f34f [svn-r5515] Purpose:
Bug Fix
Description:
    There was an error in the way it was determining if there were any
    reads to report.
Solution:
    Wrote a subroutine which would determine if the reads are defined in
    the structure before trying to print them out.
Platforms tested:
    Linux
2002-06-03 15:39:51 -05:00
Bill Wendling
10b5e1dde4 [svn-r5511] Purpose:
Add Report Generator
Description:
    This is a generator for ASCII and Excel(tm)(c) reports generated by
    the pio_perf benchmark we run. There are instructions at the top of
    the file on how to run the program and the input format it expects,
    etc.
Platforms tested:
    Linux
2002-06-03 14:57:04 -05:00
Albert Cheng
3ccff1357f [svn-r5503] Purpose:
Features
Description:
    Added a few macros to print rank and size of MPI_COMM_WORLD in
    a unifed style.
Platforms tested:
    modi4, eirene, burrwhite
2002-06-01 18:01:48 -05:00
Albert Cheng
be18b5da13 [svn-r5486] Purpose:
Code cleanup and new feature.
Description:
    Cleaned out some old debug print statments.
    Added option -B for interleaved I/O block size.
    (Just parsing and sanity check is done.  Real I/O implementation
    is not done yet.)
Platforms tested:
    eirene(pp)
2002-05-30 03:46:59 -05:00
Bill Wendling
9fcb8dd010 [svn-r5485] Purpose:
Removal of bad code
Description:
    Albert came up with a better way of determining which performance
    tests to run. I removed the broken way I did them...
Platforms tested:
    Linux-pp
2002-05-29 18:31:12 -05:00
Albert Cheng
02350ea835 [svn-r5483] Description:
Show IO API types selected. (Changed the default setting algorithm
    slightly.)
Platforms tested:
    eirene(pp)
2002-05-29 15:48:12 -05:00
Albert Cheng
770c707da1 [svn-r5481] Description:
Renamed pio_info_g as h5_io_info_g to better reflect its
    general purpose.
Platforms tested:
    eirene(pp)
2002-05-29 13:40:29 -05:00
Albert Cheng
f1ce8aa946 [svn-r5477] Purpose:
updated the Dependencies file
Platforms tested:
    no test.
2002-05-29 12:52:18 -05:00
Albert Cheng
ca46f7a6d5 [svn-r5475] Purpose:
Sync with changes Kent made to v1.4.
    still need to sync changes here back to v.14
Platforms tested:
    eirene(pp)
2002-05-29 12:14:39 -05:00
Albert Cheng
1ebc181088 [svn-r5472] Purpose:
bug fix
Description:
    pio_info_g has been moved to the test/libh5test.a but the
    pio_* source files still have the old definition and declaration.
    Some compilers hated the duplcation.
Solution:
    Replaced the duplication with #include h5test.h and added test/ to
    the include search path too.
Platforms tested:
    eirene, modi4.
2002-05-29 11:18:33 -05:00
Bill Wendling
0ba943194e [svn-r5470] Purpose:
Update
Description:
    Only print out the parameters for a run if we're in debug mode one
    and the 0'th process or if we're in debug mode > 0.
Platforms tested:
    Linux
2002-05-28 17:00:26 -05:00
Bill Wendling
607fb9618b [svn-r5469] Purpose:
Feature Addition
Description:
    Added feature which prints out the parameters and the MPI_Info object
    for a run for each process.

    Added some functions for the GPFS system. They are ifdef'ed out right
    now (well, they need to ahve the non-existant H5_HAVE_GPFS macro set)
    and aren't in use just yet. But the stub functions are there.
Platforms tested:
    Linux
2002-05-28 16:54:58 -05:00
Albert Cheng
acac31a7f4 [svn-r5463] Description:
Folded the changes made in v1.4 into v1.5.
    print library version information in help page too.
    Specify the nofill feature supported in v1.5 only.
    Print the values of the KB, MB and GB in case a user wants to see them.
    Setup a macro, H5_HAVE_NOFILL, to indicate if Dataset no fill feature
    is supported.  If not, --no-fill is an invalid option.
Platforms tested:
    modi4
2002-05-27 23:04:18 -05:00
Bill Wendling
ef5d0e1675 [svn-r5456] Purpose:
Update
Description:
    Updating the source for the PIO performance tests with the current
    code that's in the V1.4 branch. It includes the newest command-line
    parameters.
Platforms tested:
    Linux-pp
2002-05-22 18:22:46 -05:00
Albert Cheng
c365ae1373 [svn-r5446] Purpose:
Feature
Description:
  moved the routines of setting up and dumping MPI-info object to
  test library so that it is avaiable for all tests too.
Platforms tested:
  modi4(pp), eirene (serial)
2002-05-21 13:49:44 -05:00
Albert Cheng
de3af15daf [svn-r5426] Purpose:
Folded the added feature of setting MPI Info object from v1.4 to this
    branch.
Platforms tested:
    modi4
2002-05-16 08:51:48 -05:00
Albert Cheng
d07e0dd9a3 [svn-r5407] Purpose:
Bug fix
Description:
    Was not able to handle data size (file size) larger than 32bits.
    Was using long, which is only 4 bytes big in SP, thus overflowing
    into negative when trying to address 2GB or larger.
Solution:
    Changed those variables involved in file size/offset calculation
    to type off_t.  (If a certain system/compiler has off_t defined
    as 4 bytes, it can't write to file size larger than 2GB anyway.)

    Note that the lseek of SP with -D_LARGE_FILE still fails for
    offset larger than 2GB (works for 2GB).  That has to be fixed
    soon.
Platforms tested:
   burrwhite (linux 2.4) and modi4 parallel.
2002-05-13 14:55:33 -05:00
Albert Cheng
3a9882a2e5 [svn-r5376] Description:
Added the calculation and printing (when debug >=3) of the
    MPI_write/read statistics.
Platforms tested:
    modi4
2002-05-07 12:34:59 -05:00
Albert Cheng
c038daacec [svn-r5375] Purpose:
Changed all API to use MPI_WTIME timer.  Just to be consistent.
Platforms tested:
    modi4
2002-05-07 12:33:56 -05:00
Bill Wendling
f04b756f6f [svn-r5374] Purpose:
Name Change
Description:
    Changed the macro's name from "MILLISECOND" to "MICROSECOND" since,
    as Quincey pointed out, that's what it is ;).
Platforms tested:
    Linux
2002-05-07 11:56:34 -05:00
Albert Cheng
fc49f1463c [svn-r5373] Purpose:
Bug fix
Description:
    The system timer forgot to add previous cummulated time.
    Fixed.
Platforms tested:
    modi4
2002-05-07 11:43:32 -05:00
Quincey Koziol
470663aef6 [svn-r5369] Purpose:
Code cleanup

Description:
    Remove incorrect MPI_Barrier() call in data I/O loop.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-07 11:06:58 -05:00
Albert Cheng
3984d62ca3 [svn-r5368] Purpose:
Bug fix, feature
Description:
    Added code to time pure MPI_File_write_xxx and read_xxx routines.
    Moved the setting of the timer_g to when timer is created (new)
    and destroyed.
Platforms tested:
    modi4pp
2002-05-07 10:22:31 -05:00
Bill Wendling
74861bfaeb [svn-r5367] Purpose:
Modification
Description:
    Put some of the variables into the global space so that random
    functions can access them. (The output and timer variables which
    point to the output file and timer resp.)

    Placed the debug level 4 prints into the timer module so that it's
    easier to automatically put timer start/stop printfs for new timers
    which are created.

    Added timers for MPI Time calls (called HDF5_MPI_WRITE and
    HDF5_MPI_READ).
Platforms tested:
    Linux
2002-05-06 18:58:57 -05:00
Bill Wendling
2cf0e9f882 [svn-r5348] Purpose:
Bug Fix
Description:
    There was a duplicate declaration of print_indent() in the header and
    in the source files.
Solution:
    Removed the public declaration and made the function static again.
Platforms tested:
    Arabica
2002-05-03 16:09:52 -05:00
Bill Wendling
0a648bddc7 [svn-r5334] Purpose:
Port
Description:
    Brought forward the changes (timing debug prints) from the 1.4
    branch.
Platforms tested:
    Linux
2002-05-02 16:19:19 -05:00
Pedro Vicente Nunes
bcc1b57287 [svn-r5324]
Purpose:
    updated some comments regarding Code Warrior , removed other debugging comments
Platforms tested:
    w2000
2002-05-02 09:50:50 -05:00
Bill Wendling
03a08823e7 [svn-r5281] Purpose:
Update
Description:
    Changed the description of the help message so that the --hdf5,
    --mpio, --raw flags better say what they do.
Platforms tested:
    Linux
2002-04-29 12:25:32 -05:00
Albert Cheng
f980ab403a [svn-r5232] Purpose:
Bug fix
Description:
    The symbol "RAW" is already defined in some ioctl.h files.
    Changed it to RAWIO.
Platforms tested:
    Tflops.
    (I am commiting this from TFLOPS.  Will check it out immediate
     to test on local machines.)
2002-04-23 11:07:50 -05:00
Quincey Koziol
e5fc40662c [svn-r5219] Purpose:
Code cleanup

Description:
    Clean up warnings from gcc 3.1

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-22 12:48:24 -05:00
Albert Cheng
f42dc21708 [svn-r5212] Purpose:
Code improvement
Description:
    Changed stat to HDstat macro for portability.
Platforms tested:
    eirene.
2002-04-19 16:54:35 -05:00
MuQun Yang
0a4ca388fe [svn-r5208]
Purpose:
    a bug fix
Description:
     should use HDfstat instead of fstat
Solution:
Platforms tested:
linux 2.218, windows 2000
2002-04-19 15:48:43 -05:00
Albert Cheng
f5d5e9e2ff [svn-r5205] Purpose:
Code cleanup
Description:
    Platform dependent code related to the struct stat and fstat
    calls polluted source codes.  Hard to maintain.
Solution:
    Platform dependent code are moved to H5private.h and then internal
    code can #include H5private.h.  Repeat those macro definition for
    the stdio and multi drivers since they area examples for writing
    a virtual file driver.  They must not use any internal code.
Platforms tested:
    eirene (parallel), modi4 (serial including gass driver.)
2002-04-19 02:20:41 -05:00
Bill Wendling
43bed07320 [svn-r4997] Purpose:
Bug Fix
Description:
	So, for Raw I/O in parallel, if you open a file with truncation by
	multiple processes, it looks as if one process could open the file
	and start writing to it while another process also opens the file
	with truncation, thus wiping out all of the stuff the first process
	wrote to the file.

	This is bad.

	Also added some garbage collection to the pio_perf routine to reclaim
	the space taken by some of the tables.
Solution:
	Placed an MPI_Barrier() statement after the Raw open()/create() call
	so that all processes are synced up before they start writing to the
	file.

	Added free() calls to the tables which weren't being free'd.
Platforms tested:
	Linux-pp (eirene)
2002-02-20 17:35:20 -05:00
Bill Wendling
504e6587ec [svn-r4995]
Purpose:
    Bone-headed Bug Fix
Description:
    There were blanks being put into the output. The cause: the
    "print_indent()" routine was printing indents for all of the
    processes, but only process 0 should have been printing them out at
    all (since process 0 is the one which prints out the reports).
Solution:
    Check to make sure that we're process 0 before printing the indents.
Platforms tested:
    Linux
2002-02-19 17:01:00 -05:00
Quincey Koziol
b8dbd390db [svn-r4978] Purpose:
Code cleanup
Description:
    Cleanup compiler warnings found by the SGI compiler and gcc 3.0
Platforms tested:
    FreeBSD 4.5 w/gcc 3.0 (hack) && IRIX64 (modi4)
2002-02-16 21:51:21 -05:00
Albert Cheng
ff501d810d [svn-r4969] Description:
Remove perf and mpi-perf from the parallel test targets since their
    functions are replaced by pio_perf.
Platforms tested:
    modi4 and eirene, both parallel modes.
2002-02-14 14:04:29 -05:00
Albert Cheng
a1c37b6eb8 [svn-r4964] Purpose:
Change default actions.
Description:
    Change the default maximum number of processes (-P) to use all processes
    instead of just 1 (old default).  Someone most likely wants to test
    the I/O performance with all processes involved.
    Also starts performance measurement with maximum number of processes
    and decrement it with each loop.  If the performance measurement
    needs to restart, it can run with fewer processes if those loops
    have completed.
Platforms tested:
    modi4 and eirene.
2002-02-14 10:51:12 -05:00
Bill Wendling
5bdf863a90 [svn-r4885] Purpose:
Bug Fix
Description:
	Throughput wasn't being calculated correctly.
Solution:
	We were using a value other than the actual time. Changed so that
	we're using the correct structure to grab the time out of it.
Platforms tested:
	Linux(pp)
2002-01-30 16:46:15 -05:00
Bill Wendling
cb905d215e [svn-r4882] Purpose:
Feature add and algorithm reworking.
Description:
	Added a "--debug" flag so we can print out various extra debugging
	information.

	Reworked the algorithm so that it's printing the correct throughput.
	Here's how it's supposed to work:

						process
				 T_0 T_1 T_2 T_3 ... T_n
	  iteration 1
	            2
	            .
	            .
	            .
	            m

	Retrieve the maximum time from each iteration over the number of
	processes. (So, if T_i had the maximum time in iteration j, then use
	that time). Calculate the "Throughput" of iteration j:

			S_j = (raw_size / T_i)

	Collect that information over all of the iterations. Then output the
	Max, Min, and Ave of all of the S_k's.
Platforms tested:
	Linux (pp)
2002-01-29 23:16:15 -05:00
Bill Wendling
0d069736a7 [svn-r4818]
Purpose:
	Small Fix
Description:
	Fixed the Min/Max/Average accumlation stuff...
Solution:
	Actually thought about the code and made it accumulate the
	information in the correct way.
Platforms tested:
	Linux
2002-01-11 15:30:02 -05:00
Albert Cheng
52bf29ae4a [svn-r4817] Description:
The code was doing too many MPI_Send for the gathering.
    Changed the get_minmax() to use the MPI_Allreduce routine.
Platforms tested:
    modi4
2002-01-11 15:16:44 -05:00
Bill Wendling
aa8897734f [svn-r4816]
Purpose:
	Feature Fix
Description:
	Added timer from open to close for write. Changed reporting of time
	for write and read to only measure the actual read/write instead of
	the open/close as well...
Platforms tested:
	Linux(pp)
2002-01-11 14:44:51 -05:00
Bill Wendling
d2c8c031d9 [svn-r4811]
Purpose:
	Feature Add
Description:
	Added the time it takes from opening the file to closing the file
	(over all files).
Platforms tested:
	Linux
2002-01-10 13:45:34 -05:00
Bill Wendling
08926d9f6e [svn-r4809]
Purpose:
	Feature Fix
Description:
	Instead of outputting the # of kilobytes in a transfer size, output
	the total bytes. This helps when you're interested in just doing a
	copy-paste type of thing for the transfer buffer size.
Solution:
	Changed the output report
Platforms tested:
	Linux(pp)
2002-01-09 14:39:21 -05:00
Bill Wendling
4d20a1d87f [svn-r4803]
Purpose:
    Feature Add
Description:
    Added output which tells how large the file is (that is, the number
    of dsets * number of elements in a dset * sizeof(int)).
Platforms tested:
    Linux(pp)
2002-01-08 18:28:12 -05:00
Albert Cheng
173dd7f2fe [svn-r4802] Description:
The default minimum xfer size of 1K was way too slow for
    parallel file system like the PFS of Tflops.  Set it to
    128K to complete soon for default settings.
Platforms tested:
    Tflops, modi4.
2002-01-08 14:22:16 -05:00
Albert Cheng
abdb704acc [svn-r4795] Purpose:
Extension
Description:
    int64_t type is not available everywhere.
    #include H5private.h which has platform dependent hooks
    to define int64_t to something available.
Platforms tested:
    Tflops
2002-01-07 17:47:22 -05:00
Albert Cheng
e22c095636 [svn-r4757] Purpose:
Removing the DPSS (gridstorage) driver source code.
Description:
    The DPSS (using Grid-Storage) driver is retired.
    Removed the configure option with-gridstorage from configure.in.
    Cvs remove the following files
    ./src/H5FDdpss.c
    ./src/H5FDdpss.h
    ./test/dpss_read.c
    ./test/dpss_write.c

    Regenerated Dependencies files (some had to be hand-edited since
    'make depend' did not cover them.)
    Removed reference to DPSS Virtual file driver from H5F.c.
Platforms tested:
    modi4 (Parallel; -with-gass=...), eirene, arabica (fortran, cxx).
2001-12-30 00:23:38 -05:00
Bill Wendling
94f3abb555 [svn-r4754]
Purpose:
	Feature Fix
Description:
	Added the minimum, maximum, and average time and MB/s for the write
	and read operations. It now prints the report out in a pretty clear
	format. It also includes how many iterations were done for the
	write/read operation.
Platforms tested:
	Linux
2001-12-21 16:39:52 -05:00
Albert Cheng
7defffc7e4 [svn-r4748] Purpose:
Bug fix
Description:
    All processes, including those that are not part of the PIO test
    sub-communicator, all attempted to run the PIO test.  It resulted
    in failures for those processes that are not supposed to get involved.
Solution:
    The function that creates the sub-communicator also returns a
    parameter indicating if the process is included in the PIO test
    sub-communicator.  Then only those processes will really do the
    PIO test.
Platforms tested:
    eirene (pp) and Modi4 (pp)
2001-12-21 00:58:41 -05:00
Bill Wendling
c9782c380b [svn-r4746]
Purpose:
	Feature Fix
Description:
	Changed so the "pio_perf" module handles creating and destroying the
	MPI Comm. Worked it so we get the minimum, maximum, and average times
	over a set of iterations.
Solution:
	Lots. Had to pull the MPI Comm code from the "pio_engine" module and
	place it in the "pio_perf" module. Then worked on a way to have all
	processes send their time output to process 0, who collects it and
	gives back the min, max, and avg times for the iterations.
Platforms tested:
	Linux. Doesn't work if you use more than 1 processor...*hrmph*
2001-12-19 17:10:15 -05:00
Bill Wendling
4df7c41311 [svn-r4743]
Purpose:
	Removed Debugging Statements
Description:
	Did just that.
Platforms tested:
	Linux
2001-12-18 16:48:12 -05:00
Bill Wendling
258a10c5c5 [svn-r4742]
Purpose:
	Feature Add
Description:
	Print out the transfer buffer size with the data
Platforms tested:
	Linux
2001-12-18 16:33:54 -05:00
Bill Wendling
5c891c5c51 [svn-r4741]
Purpose:
	Bug Fix
Description:
	The --raw, --hdf5, --mpiio options weren't being done correctly.
Solution:
	I had to change some of the tests for the io_type to & instead of |
	so that they'd work how I wanted them to work.
Platforms tested:
	Linux
2001-12-18 15:56:26 -05:00
Bill Wendling
d1d532069b [svn-r4733]
Purpose:
	Feature Changes
Description:
	Okay, I needed to add in more parameters so that the user can modify
	how things are supposed to work with the PIO programs. Also needed
	to change the algorithm a bit to make these work. And needed to add
	in timing for the READ option.
Solution:
	Added the above things. The parameters took a major rewrite of the
	command-line parsing stuff. Here's the usage statement:

usage: pio_perf [OPTIONS]
  OPTIONS
     -h, --help                  Print a usage message and exit
     -d N, --num-dsets=N         Number of datasets per file [default:1]
     -f S, --file-size=S         Size of a single file [default: 64M]
     -F N, --num-files=N         Number of files [default: 1]
     -H, --hdf5                  Run HDF5 performance test
     -i, --num-iterations        Number of iterations to perform [default: 1]
     -m, --mpiio                 Run MPI/IO performance test
     -o F, --output=F            Output raw data into file F [default: none]
     -P N, --max-num-processes=N Maximum number of processes to use [default: 1]
     -p N, --min-num-processes=N Minimum number of processes to use [default: 1]
     -r, --raw                   Run raw (UNIX) performance test
     -X S, --max-xfer-size=S     Maximum transfer buffer size [default: 1M]
     -x S, --min-xfer-size=S     Minimum transfer buffer size [default: 1K]

  F - is a filename.
  N - is an integer >=0.
  S - is a size specifier, an integer >=0 followed by a size indicator:

          K - Kilobyte
          M - Megabyte
          G - Gigabyte

      Example: 37M = 37 Megabytes

Platforms tested:
	Linux, but not fully finished...
2001-12-18 15:12:21 -05:00
Albert Cheng
ad04fdd3a7 [svn-r4731] Description:
Added nfiles and ndsets parameters checking.
    Removed iteration variable since iterations would be done
    in Control routine.
Platforms tested:
    Eirene(pp) and modi4(pp)
2001-12-17 18:02:20 -05:00
Albert Cheng
700e339e10 [svn-r4723] Purpose:
Bug fix (or more like feature)
Description:
    MPI_File_open does not truncate the filesize if file already exists.
    This created confusion during debugging as what the real file size
    is.  It also interfere the real write bandwidth since the times
    required to allocate new disk-space vanishes for subsequent writes
    that are for offset shorter than previous file sizes.
    Added a MPI_File_set_size to reset the file size to 0 for every new
    file.

    Another bug is that the 'remove()' call may not work for MPIO/PHDF5
    files. (e.g., filename may have some MPI prefix like "pfs:filename").
    Replaced "remove" with MPI_File_delete for those cases.
Platforms tested:
    modi4(pp) and eirene (pp)
2001-12-13 15:14:32 -05:00
Albert Cheng
4720897bb9 [svn-r4715] Purpose:
bug fix, new feature
Description:
    Added HDF5 write in do_write.
    Added a complete do_read.
    Still need timing code for the read part.
Platforms tested:
    eirene (pp), modi4(pp).
    Did not test serial since all changes were done in parallel area.
2001-12-13 10:29:47 -05:00
Bill Wendling
cb85cfc5c6 [svn-r4712]
Purpose:
	DOH!
Description:
	Ugh! I forgot to add the -m flag to the list of "short" parameter
	codes. It wasn't even looking for them. *sigh*
Solution:
	Added it
Platforms tested:
	Linux
2001-12-12 16:46:46 -05:00
Albert Cheng
c227600599 [svn-r4708] Purpose:
Bug fixes, new features
Description:
    There was a coding error in handling file open flags.  Changed it
    to use &.
    Added do_cleanup to cleanup temporary test files but only if
    $HDF5_NOCLEANUP is not set.  This is consistent with other test programs.
    Added logic so that each process is writing its own slabs of data only.
    Moved the number of process, rank of process and the communicator used
    for PIO run to be global variables.  Makes the coding easier.  (but this
    is not thread-safe.)
Platforms tested:
    modi4(pp) and eirene(pp).
2001-12-12 14:55:21 -05:00
Quincey Koziol
47d88766db [svn-r4706] Purpose:
Code cleanup
Description:
    Tweaked internal error handling macros to reduce the size of the library's
    object code by about 10-20%.

    Also cleaned up some compiler warnings...

Platforms tested:
    FreeBSD 4.4 (sleipnir)
2001-12-12 13:40:09 -05:00
Bill Wendling
d3f9fa1434 [svn-r4703]
Purpose:
	Feature Fix
Description:
	Changed default size of file to 512MB. The "-m" flag is now in
	megabytes as well. This makes running things a bit faster.
Platforms tested:
	Linux
2001-12-12 11:53:13 -05:00
Albert Cheng
a72ee1251a [svn-r4700] Purpose:
new feature
Description:
    It writes to MPIO files now.
Platforms tested:
    eirene (pp)
2001-12-11 18:02:07 -05:00
Albert Cheng
8ee6220285 [svn-r4699] Purpose:
Bug fixes, feature, ...
Description:
    Now it can do raw write.
Platforms tested:
    modi4(pp), eirene (pp)
2001-12-11 16:45:29 -05:00
Bill Wendling
0421075efc [svn-r4698]
Purpose:
	Bug Fix
Description:
	Fixed so that it will display the correct timing data. It will also
	write to the correct file (which it wasn't before).
Solution:
	Put the code in for displaying the time. Had to change the way I was
	passing an object to the pio_fopen() function from just being a
	structure to being a pointer so that the changes could be propagated
	back.
Platforms tested:
	Linux
2001-12-11 15:57:53 -05:00
Bill Wendling
aec064a280 [svn-r4697]
Purpose:
	Bug Fix
Description:
	I wasn't calculating the total time correctly.
Solution:
	I had to subtract the previous time from the current time. This
	wasn't being done...DOH
Platforms tested:
	Linux
2001-12-11 15:56:02 -05:00
Bill Wendling
43c1f21316 [svn-r4691]
Purpose:
	Small Fixes
Description:
	After conversation with Albert, here are some small fixes for the
	performance stuff. Not too significant. Though, we did add the
	"buffer size" as a parameter I pass to the engine.
2001-12-10 17:45:46 -05:00
Bill Wendling
b78d34a147 [svn-r4690]
Purpose:
	Feature Fix
Description:
	Added code so that it measures the time it takes to do I/O and return
	that to the calling function.

	This code doesn't quite work yet. There is something wrong with the
	MPI code in the "pio_engine.c" file...I don't know what's up with
	it...
Platforms tested:
	Linux
2001-12-10 17:07:58 -05:00
Bill Wendling
39243d8b05 [svn-r4689]
Purpose:
	Feature Fix
Description:
	Added code so that it will actually output some of the timing
	measurements.
Platforms tested:
	Linux
2001-12-10 17:06:22 -05:00
Bill Wendling
692896a9e7 [svn-r4687]
Purpose:
	Small warning removals
Description:
	Just removed a few more warnings to make the compile go a bit
	smoother...
Platforms tested:
	Linux
2001-12-10 13:05:39 -05:00
Albert Cheng
216b84a9ab [svn-r4686] Purpose:
Bug fix
Description:
    LIBTOOLS has to come before LIBHDF5 in order to link in HDF5 API.
Platforms tested:
    modi4(pp), eirene (serial and pp).
2001-12-10 12:21:12 -05:00
Albert Cheng
7ba2253653 [svn-r4685] Purpose:
Bug fix
Description:
    Cleaned up obvious syntax errors to make it to compile.
    Changed unnecessarily unsigned variables to signed to avoid
    messy compiler warnings.
Platforms tested:
    eirene (parallel)
2001-12-10 11:24:58 -05:00
Quincey Koziol
a9c747deba [svn-r4669] Purpose:
Backward Compatibility Fix
Description:
    One of H5P[gs]et_cache's parameters changed between v1.4 and the development
    branch.
Solution:
    Added v1.4 compat stuff around H5P[gs]et_cache implementation and testing
    to allow v1.4.x users to continue to use their source code without
    modification.

    These changes are for everything except the FORTRAN wrappers - I spoke with
    Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-12-05 11:12:32 -05:00
Bill Wendling
4a124d00cc [svn-r4667]
Purpose:
	Code Cleanup and Feature Add
Description:
	Finally checking in the changes I made to the performance code. It
	just modularizes it a bit more and performs some more checks, etc. I
	also renamed the timer functions to be more inline with how other
	things are named here...
Platforms tested:
	Linux
2001-12-04 17:23:54 -05:00
Bill Wendling
af35ac0ec1 [svn-r4608]
Purpose:
    bug Fix
Description:
    Changed the code so that if parallel stuff isn't enabled, then we
    don't compile the parallel code.
Solution:
    Cleaned up the code and put #ifdef's around it checking for parallel
    flags.
Platforms tested:
    Linux
2001-11-15 17:46:32 -05:00
Albert Cheng
90cda8338c [svn-r4597] Purpose:
Bug patch
Description:
    pio_xxx.c will fail compiling in serial mode.
    I temporary disable the compile of the pio-perform code from
    the Makefile.  Will fix it after sunday.
Platforms tested:
    eirene (serial).
2001-11-09 08:47:34 -05:00
Albert Cheng
bb76b558e6 [svn-r4592] Purpose:
New addition
Description:
    Initial version of the Parallel I/O performance measurement program.
    Not fully implemented yet but checking them in before I may destroy
    them by accident.
    Don't run this in small file system (like AFS or eirene) since it
    generates gigabytes test files.
Platforms tested:
    modi4 64bits.  It compiled and ran but took a long time because
    the current test parametes are too "wild".
2001-11-07 10:28:33 -05:00
Quincey Koziol
0001a13617 [svn-r4589] Purpose:
Code cleanup
Description:
    Clean up various compiler warnings from generic property updates.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-03 17:27:54 -05:00
Quincey Koziol
7a96b1a0d2 [svn-r4482] Purpose:
Kludge
Description:
    Since we're only about halfway through converting the internal use of
    property lists from the "old way" to the generic property lists, we turned
    off snapshots to avoid exposing lots of API changes to users, until the
    APIs settled down.

    Getting the snapshots rolling again seems to have become a priority, so
    some changes are going to have to be made now that were going to be
    postponed until we were completely finished with the conversion.  This
    requires that the old API functions be able to deal with both the old
    and new property lists smoothly.

Solution:
    Kludge together the property list code so that they can transparently handle
    dealing with both the old and new property lists

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-26 15:29:35 -05:00
Quincey Koziol
ed663577a5 [svn-r4473] Purpose:
Code cleanup for better compatibility with C++ compilers
Description:
    C++ compilers are choking on our C code, for various reasons:
        we used our UNUSED macro incorrectly when referring to pointer types
        we used various C++ keywords as variables, etc.
        we incremented enum's with the ++ operator.
Solution:
    Changed variables, etc.to avoid C++ keywords (new, class, typename, typeid,
        template)

    Fixed usage of UNUSED macro from this:
        char UNUSED *c
    to this:
        char * UNUSED c

    Switched the enums from x++ to x=x+1
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-25 12:46:32 -05:00
Albert Cheng
ee6a5bf86b [svn-r4443] Purpose:
Bug fix
Description:
    Added the condition that Parallel programs are dependent on
    the hdf5 library too.
Platforms tested:
    eirene (parallel), modi4(serial and parallel).
2001-09-17 11:41:15 -05:00
Albert Cheng
15c3995e05 [svn-r4434] Purpose:
New feature.
Description:
    Test programs were assumed to be serial programs only.
    There was no provision to test parallel programs automatically.
Solution:
    Added $(TEST_PARA_PROGS) to hold parallel test programs and
    added appropriate action entry to test them if defined.
Platforms tested:
    Eirene (parallel).
2001-09-10 23:04:15 -05:00
Albert Cheng
d6f340c9bf [svn-r4433] Purpose:
Bug fix.
Description:
    The default file name used is /foo/test.out that usually
    is not legal.  Changed it to /tmp/test.out.
Platforms tested:
    eirene (parallel).
2001-09-10 23:01:11 -05:00
Albert Cheng
900cce2840 [svn-r4359] Purpose:
bug fix
Description:
    Could not get to compile as parallel program in parallel mode.
    That was because I did not include hdf5.h before testing for the
    H5_HAVE_PARALLEL macro.  (DUMB!)
Solution:
    #include hdf5.h first.
Platforms tested:
    eirene (parallel)
2001-08-14 17:41:11 -05:00
Albert Cheng
eef2829d16 [svn-r4354] Purpose:
Bug fix
Description:
    Included all those generated temporary files in the CLEAN target
    so that they would be cleaned in "make clean".
Platforms tested:
    eirene.
2001-08-14 16:47:03 -05:00
Quincey Koziol
f24035e12f [svn-r4352] Purpose:
Bug fix/code cleanup
Description:
    Was using old-style property list for dataset transfer.
Solution:
    Switched to use generic property list code for dataset transfer proplist.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-14 15:27:05 -05:00
Quincey Koziol
8797669745 [svn-r4349] Purpose:
Bug fix
Description:
    Add missing dependency file.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-14 15:03:07 -05:00
Albert Cheng
22270493b0 [svn-r4346] Purpose:
New feature
Description:
    Started this directory for performance measurement programs.
    The programs here got compiled but not automatically run (just
    like the examples direcotry.)
    The programs have existed but now gathered to this one directory.
    iopipe.c, chunk.c and overhead.c were from test.  perf.c and mpi-perf.c
    were from testpar.
Platforms tested:
    eirene (serial and parallel).
    overhead failed during run due to some property error.  This is probably
    due to the recent change of properties code.
    perf and mpi-perf do not compile correctly for Parallel mode.
    Checking them to make them available to others.
2001-08-14 13:46:27 -05:00