Commit Graph

30 Commits

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