Commit Graph

89 Commits

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