summaryrefslogtreecommitdiffstats
path: root/perform
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r5212] Purpose:Albert Cheng2002-04-191-1/+1
| | | | | | | | Code improvement Description: Changed stat to HDstat macro for portability. Platforms tested: eirene.
* [svn-r5208] MuQun Yang2002-04-191-2/+2
| | | | | | | | | | Purpose: a bug fix Description: should use HDfstat instead of fstat Solution: Platforms tested: linux 2.218, windows 2000
* [svn-r5205] Purpose:Albert Cheng2002-04-193-2/+4
| | | | | | | | | | | | | | 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.)
* [svn-r4997] Purpose:Bill Wendling2002-02-202-0/+13
| | | | | | | | | | | | | | | | | | | | | | | 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-r4978] Purpose:Quincey Koziol2002-02-172-5/+5
| | | | | | | | 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)
* [svn-r4969] Description:Albert Cheng2002-02-141-4/+3
| | | | | | | 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.
* [svn-r4964] Purpose:Albert Cheng2002-02-142-7/+25
| | | | | | | | | | | | | | 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-302-98/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-113-24/+69
| | | | | | | | | | | 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-102-10/+40
| | | | | | | | | | 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-r4795] Purpose:Albert Cheng2002-01-072-0/+2
| | | | | | | | | | 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
* [svn-r4757] Purpose:Albert Cheng2001-12-301-9/+107
| | | | | | | | | | | | | | | | | | 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).
* [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)
* [svn-r4746] Bill Wendling2001-12-194-139/+346
| | | | | | | | | | | | | | | | 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*
* [svn-r4743] Bill Wendling2001-12-181-4/+0
| | | | | | | | | Purpose: Removed Debugging Statements Description: Did just that. Platforms tested: Linux
* [svn-r4742] Bill Wendling2001-12-181-1/+3
| | | | | | | | | Purpose: Feature Add Description: Print out the transfer buffer size with the data Platforms tested: Linux
* [svn-r4741] Bill Wendling2001-12-181-16/+20
| | | | | | | | | | | | 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
* [svn-r4733] Bill Wendling2001-12-183-279/+531
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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...
* [svn-r4731] Description:Albert Cheng2001-12-171-7/+17
| | | | | | | | Added nfiles and ndsets parameters checking. Removed iteration variable since iterations would be done in Control routine. Platforms tested: Eirene(pp) and modi4(pp)
* [svn-r4723] Purpose:Albert Cheng2001-12-131-12/+34
| | | | | | | | | | | | | | | | | | 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)
* [svn-r4715] Purpose:Albert Cheng2001-12-131-25/+302
| | | | | | | | | | | 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.
* [svn-r4712] Bill Wendling2001-12-121-2/+2
| | | | | | | | | | | | 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
* [svn-r4708] Purpose:Albert Cheng2001-12-121-39/+86
| | | | | | | | | | | | | | | 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).
* [svn-r4706] Purpose:Quincey Koziol2001-12-123-13/+13
| | | | | | | | | | | | 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)
* [svn-r4703] Bill Wendling2001-12-121-6/+7
| | | | | | | | | | 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
* [svn-r4700] Purpose:Albert Cheng2001-12-111-4/+15
| | | | | | | | new feature Description: It writes to MPIO files now. Platforms tested: eirene (pp)
* [svn-r4699] Purpose:Albert Cheng2001-12-112-115/+170
| | | | | | | | Bug fixes, feature, ... Description: Now it can do raw write. Platforms tested: modi4(pp), eirene (pp)
* [svn-r4698] Bill Wendling2001-12-112-27/+27
| | | | | | | | | | | | | | | 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
* [svn-r4697] Bill Wendling2001-12-111-2/+5
| | | | | | | | | | | | 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
* [svn-r4691] Bill Wendling2001-12-103-17/+13
| | | | | | | | | 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.
* [svn-r4690] Bill Wendling2001-12-101-41/+41
| | | | | | | | | | | | | | 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
* [svn-r4689] Bill Wendling2001-12-102-4/+26
| | | | | | | | | | Purpose: Feature Fix Description: Added code so that it will actually output some of the timing measurements. Platforms tested: Linux
* [svn-r4687] Bill Wendling2001-12-102-10/+7
| | | | | | | | | | Purpose: Small warning removals Description: Just removed a few more warnings to make the compile go a bit smoother... Platforms tested: Linux
* [svn-r4686] Purpose:Albert Cheng2001-12-101-2/+2
| | | | | | | | Bug fix Description: LIBTOOLS has to come before LIBHDF5 in order to link in HDF5 API. Platforms tested: modi4(pp), eirene (serial and pp).
* [svn-r4685] Purpose:Albert Cheng2001-12-101-30/+37
| | | | | | | | | | 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)
* [svn-r4669] Purpose:Quincey Koziol2001-12-051-3/+13
| | | | | | | | | | | | | | | | 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)
* [svn-r4667] Bill Wendling2001-12-043-78/+223
| | | | | | | | | | | | 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
* [svn-r4608] Bill Wendling2001-11-156-714/+455
| | | | | | | | | | | | | 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
* [svn-r4597] Purpose:Albert Cheng2001-11-091-1/+3
| | | | | | | | | | 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).
* [svn-r4592] Purpose:Albert Cheng2001-11-077-11/+1473
| | | | | | | | | | | | | 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".
* [svn-r4589] Purpose:Quincey Koziol2001-11-031-31/+1
| | | | | | | | Code cleanup Description: Clean up various compiler warnings from generic property updates. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4482] Purpose:Quincey Koziol2001-09-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | 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)