| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
New feature.
Description:
Added MPI-posix VFL driver support.
Platforms tested:
FreeBSD 4.6 (sleipnir) w/parallel & IRIX64 6.5 (modi4) w/parallel
|
|
|
|
|
|
|
|
|
|
| |
New features, etc.
Description:
Bring over all the recent changes from the release branch.
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
|
|
|
|
|
|
|
|
|
|
| |
New Feature
Description:
Added support for collective I/O with MPI and HDF5 access methods.
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
sync with v1.4 of usage messages.
Platforms tested:
eirene pp.
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Removed more compiler warnings, etc.
Platforms tested:
Linux 2.2.x (eirene) w/parallel
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Turn on more warnings in the IRIX builds and clean them up.
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
|
|
|
|
|
|
| |
Added the '-D v' option for "verify data correctness".
Platforms tested:
modi4, eirene, burrwhite (all pp).
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Show IO API types selected. (Changed the default setting algorithm
slightly.)
Platforms tested:
eirene(pp)
|
|
|
|
|
|
|
| |
Renamed pio_info_g as h5_io_info_g to better reflect its
general purpose.
Platforms tested:
eirene(pp)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
| |
Folded the added feature of setting MPI Info object from v1.4 to this
branch.
Platforms tested:
modi4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Added the calculation and printing (when debug >=3) of the
MPI_write/read statistics.
Platforms tested:
modi4
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
Port
Description:
Brought forward the changes (timing debug prints) from the 1.4
branch.
Platforms tested:
Linux
|
|
|
|
|
|
|
|
|
| |
Update
Description:
Changed the description of the help message so that the --hdf5,
--mpio, --raw flags better say what they do.
Platforms tested:
Linux
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
The code was doing too many MPI_Send for the gathering.
Changed the get_minmax() to use the MPI_Allreduce routine.
Platforms tested:
modi4
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Feature Add
Description:
Added the time it takes from opening the file to closing the file
(over all files).
Platforms tested:
Linux
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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*
|
|
|
|
|
|
|
|
|
| |
Purpose:
Removed Debugging Statements
Description:
Did just that.
Platforms tested:
Linux
|
|
|
|
|
|
|
|
|
| |
Purpose:
Feature Add
Description:
Print out the transfer buffer size with the data
Platforms tested:
Linux
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|