Commit Graph

382 Commits

Author SHA1 Message Date
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