summaryrefslogtreecommitdiffstats
path: root/perform/pio_perf.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r11265] Purpose:Albert Cheng2005-08-191-30/+108
| | | | | | | | | | | | | New feature Description: All datasets were 1D only before. Added -g to use 2D datasets such that it allows more options in testing various access patterns. Platforms tested: heping pp. Misc. update:
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-3/+3
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11237] Purpose:Albert Cheng2005-08-131-1/+0
| | | | | | | | | | | | | | | | | New Feature. Description: Added code and changes so that h5perf (pio) can be built by standalone mode (that is built by just "h5pcc" without all these internal files.) With the standalone mode, h5perf can be built against different versions of hdf5 library and to contrast the performance among them. (Note that pio_standalone.c and pio_standalone.h are used in standalone build only.) Platforms tested: Tested in copper and heping.
* [svn-r7091] Purpose:Quincey Koziol2003-06-241-21/+0
| | | | | | | | | | | | | 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
* [svn-r7033] Purpose:Albert Cheng2003-06-131-1/+9
| | | | | | | | | | | | | | | minor improvment Description: corrected an omission in the usage help output. Added more parameters checks. Solution: Platforms tested: Only in modi4. Misc. update:
* [svn-r6998] Purpose:Albert Cheng2003-06-091-1/+1
| | | | | | | | | | | | | | | | | | "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:
* [svn-r6989] Albert Cheng2003-06-061-0/+2
| | | | | | | | | | | 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:
* [svn-r6978] Purpose:Albert Cheng2003-06-051-0/+9
| | | | | | | | | | | | | | | | | | 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:
* [svn-r5798] Purpose:Quincey Koziol2002-07-151-3/+35
| | | | | | | | | | New feature. Description: Added MPI-posix VFL driver support. Platforms tested: FreeBSD 4.6 (sleipnir) w/parallel & IRIX64 6.5 (modi4) w/parallel
* [svn-r5760] Purpose:Quincey Koziol2002-07-021-36/+91
| | | | | | | | | | New features, etc. Description: Bring over all the recent changes from the release branch. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5720] Purpose:Quincey Koziol2002-06-271-8/+30
| | | | | | | | | | New Feature Description: Added support for collective I/O with MPI and HDF5 access methods. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5718] Purpose:Quincey Koziol2002-06-271-24/+34
| | | | | | | | | | | | 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
* [svn-r5686] Purpose:Albert Cheng2002-06-201-9/+16
| | | | | | sync with v1.4 of usage messages. Platforms tested: eirene pp.
* [svn-r5674] Purpose:Quincey Koziol2002-06-191-13/+13
| | | | | | | | | | Code cleanup Description: Removed more compiler warnings, etc. Platforms tested: Linux 2.2.x (eirene) w/parallel
* [svn-r5667] Purpose:Quincey Koziol2002-06-191-4/+4
| | | | | | | | | | Code cleanup Description: Turn on more warnings in the IRIX builds and clean them up. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5539] Description:Albert Cheng2002-06-061-0/+8
| | | | | | Added the '-D v' option for "verify data correctness". Platforms tested: modi4, eirene, burrwhite (all pp).
* [svn-r5531] Purpose:Bill Wendling2002-06-041-71/+108
| | | | | | | | | 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)
* [svn-r5486] Purpose:Albert Cheng2002-05-301-2/+22
| | | | | | | | | | | 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)
* [svn-r5485] Purpose:Bill Wendling2002-05-291-25/+7
| | | | | | | | | 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
* [svn-r5483] Description:Albert Cheng2002-05-291-7/+29
| | | | | | | Show IO API types selected. (Changed the default setting algorithm slightly.) Platforms tested: eirene(pp)
* [svn-r5481] Description:Albert Cheng2002-05-291-1/+1
| | | | | | | Renamed pio_info_g as h5_io_info_g to better reflect its general purpose. Platforms tested: eirene(pp)
* [svn-r5472] Purpose:Albert Cheng2002-05-291-1/+0
| | | | | | | | | | | | | 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.
* [svn-r5470] Purpose:Bill Wendling2002-05-281-1/+3
| | | | | | | | | 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
* [svn-r5469] Purpose:Bill Wendling2002-05-281-11/+70
| | | | | | | | | | | | | 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
* [svn-r5463] Description:Albert Cheng2002-05-281-5/+12
| | | | | | | | | | | 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
* [svn-r5456] Purpose:Bill Wendling2002-05-221-194/+354
| | | | | | | | | | 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
* [svn-r5446] Purpose:Albert Cheng2002-05-211-51/+1
| | | | | | | | | 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)
* [svn-r5426] Purpose:Albert Cheng2002-05-161-0/+53
| | | | | | | Folded the added feature of setting MPI Info object from v1.4 to this branch. Platforms tested: modi4
* [svn-r5407] Purpose:Albert Cheng2002-05-131-14/+17
| | | | | | | | | | | | | | | | | | 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.
* [svn-r5376] Description:Albert Cheng2002-05-071-0/+46
| | | | | | | Added the calculation and printing (when debug >=3) of the MPI_write/read statistics. Platforms tested: modi4
* [svn-r5368] Purpose:Albert Cheng2002-05-071-2/+0
| | | | | | | | | | 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
* [svn-r5367] Purpose:Bill Wendling2002-05-061-80/+83
| | | | | | | | | | | | | | | | | 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
* [svn-r5348] Purpose:Bill Wendling2002-05-031-2/+3
| | | | | | | | | | | 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
* [svn-r5334] Purpose:Bill Wendling2002-05-021-13/+13
| | | | | | | | | Port Description: Brought forward the changes (timing debug prints) from the 1.4 branch. Platforms tested: Linux
* [svn-r5281] Purpose:Bill Wendling2002-04-291-3/+3
| | | | | | | | | Update Description: Changed the description of the help message so that the --hdf5, --mpio, --raw flags better say what they do. Platforms tested: Linux
* [svn-r5232] Purpose:Albert Cheng2002-04-231-7/+7
| | | | | | | | | | | 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.)
* [svn-r4997] Purpose:Bill Wendling2002-02-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | 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)
* [svn-r4995] Bill Wendling2002-02-191-3/+9
| | | | | | | | | | | | | | 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
* [svn-r4964] Purpose:Albert Cheng2002-02-141-7/+23
| | | | | | | | | | | | | | 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.
* [svn-r4885] Purpose:Bill Wendling2002-01-301-2/+2
| | | | | | | | | | | 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)
* [svn-r4882] Purpose:Bill Wendling2002-01-301-97/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* [svn-r4818] Bill Wendling2002-01-111-8/+6
| | | | | | | | | | | | 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
* [svn-r4817] Description:Albert Cheng2002-01-111-37/+16
| | | | | | | The code was doing too many MPI_Send for the gathering. Changed the get_minmax() to use the MPI_Allreduce routine. Platforms tested: modi4
* [svn-r4816] Bill Wendling2002-01-111-20/+59
| | | | | | | | | | | 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)
* [svn-r4811] Bill Wendling2002-01-101-0/+35
| | | | | | | | | | Purpose: Feature Add Description: Added the time it takes from opening the file to closing the file (over all files). Platforms tested: Linux
* [svn-r4809] Bill Wendling2002-01-091-2/+2
| | | | | | | | | | | | | 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)
* [svn-r4803] Bill Wendling2002-01-081-8/+6
| | | | | | | | | | 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)
* [svn-r4802] Description:Albert Cheng2002-01-081-2/+2
| | | | | | | | 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.
* [svn-r4754] Bill Wendling2001-12-211-12/+44
| | | | | | | | | | | | 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
* [svn-r4748] Purpose:Albert Cheng2001-12-211-3/+8
| | | | | | | | | | | | | | | 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)