summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [svn-r5518] Purpose:Quincey Koziol2002-06-042-1/+13
| | | | | | | | | | | | | | | | | | Bug Fix Description: The "dirty" flag for symbol table entries and symbol table nodes was not being cleared when they were flushed to the file, causing lots of extra metadata I/O. Solution: Reset the symbol table entry & nodes' flags when thy are flushed to disk. This reduces the number of I/O operations which hit the disk for my test program from 83 to 53 (i.e. from 393 to 53, overall). Platforms tested: Solaris 2.7 (arabica) w/FORTRAN & FreeBSD 4.5 (sleipnir) w/C++
* [svn-r5517] Purpose:Albert Cheng2002-06-041-139/+153
| | | | | | | | | | | | | | Tidy up Description: Old version showed tons of output even if MPI_Offset is too small to support multiple GB sized files and destined to fail. Output is pretty confusing. Solution: Prints the signness and size of MPI_Offset for information. Skipped tests if MPI_Offset is not big enough to support the file sizes. Platforms tested: modi4, eirene, burrwhite (all parallel).
* [svn-r5514] Purpose:Bill Wendling2002-06-032-6/+30
| | | | | | | | | | | 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
* [svn-r5513] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'.cvs2svn2002-06-031-0/+262
|
* [svn-r5509] Purpose:Quincey Koziol2002-06-032-52/+96
| | | | | | | | | | | | | | | | | | | | | | | Code cleanup/bug fix Description: The "metadata accumulator" cache in the library (which is designed to catch small metadata writes/reads and bundle them together into larger I/O buffers) was incorrectly detecting the important case of metadata pieces being written sequentially to the file, adjoining but not overlapping. Additionally, the metadata accumulator was not being used to cache data read in from disk, only caching writes. Solution: Fix accumulator to correctly cache adjoining metadata writes and also to cache metadata read from disk. Between these two fixes, the number of I/O requests which resulted in actual reads/writes to the filesystem dropped from 393 requests to 82. :-) Platforms tested: Solaris 2.7 (arabica) w/FORTRAN & FreeBSD 4.5 (sleipnir) w/C++
* [svn-r5507] Elena Pourmal2002-06-031-1/+1
| | | | | | | | | | | Purpose: Maintenance Description: User reported a spelling error (bug 686). Solution: Fixed spelling Platforms tested: N/A
* [svn-r5505] Description:Albert Cheng2002-06-021-23/+74
| | | | | | | | | | Folded in the feature Bill added to v1.5. We can now set the MPI_Info object to more than one key/value pairing. By setting the HDF5_MPI_INFO environment variable to a semicolon separated list of "key=value" pairs, we can set the MPI_Info variable to them. Platforms tested: modi4, eirene, burrwhite, all PP.
* [svn-r5504] Purpose:Albert Cheng2002-06-023-219/+426
| | | | | | | | | | | | | | | | New feature Description: pio_perf.c: per_engine.c: folded in the new feature from v1.5. New feature added is the interleaved I/O performance test. Only POSIX interface is implemented for now. The MPIO and PHDF5 will be added later. pio_perf.h: Added a few macros to print rank and size of MPI_COMM_WORLD in a unifed style. Platforms tested: modi4, eirene, burrwhite
* [svn-r5499] Purpose:Quincey Koziol2002-06-012-6/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test Bug Fix Description: Under certain [obscure] circumstances, an object header would get paged out of the metadata cache, and when it was accessed again and brought back into the cache, and immediately had additional metadata added to it (an attribute, usually, or perhaps adding an object to a group), and needed to be extended with a continuation message, but there was no room in any existing object header chunks for the continuation message and an existing object header message needed to be moved to the new object header chunk (I told you it was obscure :-), the object header message moved to the new chunk (not the new metadata being added) would get corrupted. *whew* :-) Solution: Actually copy the "raw" object header message information of the object header message being moved to the new chunk, instead of relying on the "native" object header message information being re-encoded when the object header is flushed. This is because when an object header is paged out of the metadata cache and subsequently brought back in, the "native" information pointer in memory is reset to NULL and only the "raw" information exists. [Actually, this additional testing doesn't trigger the bug, which needs _lots_ of objects to be created and accessed, but it does execise the object header continuation code more than other tests in the library.] Platforms tested: Solaris 2.7 (arabica) & FreeBSD 4.5 (sleipnir)
* [svn-r5498] Purpose:Quincey Koziol2002-06-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Code Bug Fix Description: Under certain [obscure] circumstances, an object header would get paged out of the metadata cache, and when it was accessed again and brought back into the cache, and immediately had additional metadata added to it (an attribute, usually, or perhaps adding an object to a group), and needed to be extended with a continuation message, but there was no room in any existing object header chunks for the continuation message and an existing object header message needed to be moved to the new object header chunk (I told you it was obscure :-), the object header message moved to the new chunk (not the new metadata being added) would get corrupted. *whew* :-) Solution: Actually copy the "raw" object header message information of the object header message being moved to the new chunk, instead of relying on the "native" object header message information being re-encoded when the object header is flushed. This is because when an object header is paged out of the metadata cache and subsequently brought back in, the "native" information pointer in memory is reset to NULL and only the "raw" information exists. Platforms tested: Solaris 2.7 (arabica) & FreeBSD 4.5 (sleipnir)
* [svn-r5497] Purpose:Quincey Koziol2002-06-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Document Bug Fix Description: Under certain [obscure] circumstances, an object header would get paged out of the metadata cache, and when it was accessed again and brought back into the cache, and immediately had additional metadata added to it (an attribute, usually, or perhaps adding an object to a group), and needed to be extended with a continuation message, but there was no room in any existing object header chunks for the continuation message and an existing object header message needed to be moved to the new object header chunk (I told you it was obscure :-), the object header message moved to the new chunk (not the new metadata being added) would get corrupted. *whew* :-) Solution: Actually copy the "raw" object header message information of the object header message being moved to the new chunk, instead of relying on the "native" object header message information being re-encoded when the object header is flushed. This is because when an object header is paged out of the metadata cache and subsequently brought back in, the "native" information pointer in memory is reset to NULL and only the "raw" information exists. Platforms tested: Solaris 2.7 (arabica) & FreeBSD 4.5 (sleipnir)
* [svn-r5496] Purpose:Bill Wendling2002-05-312-4/+167
| | | | | | | | | | | | Bug Fix Description: C++ uses the "off_t" type for external files as well. I'm assuming that there's going to be a problem with 4 byte off_ts and 8 byte off_ts in the C++ code as well. I compiled everything on Linux and it worked, but I don't think we have a check for this bug in the library yet... Platforms tested: Linux
* [svn-r5494] Elena Pourmal2002-05-312-5/+3
| | | | | | | | | | | Purpose: Maintenance Description: Many F90 compilers were not happy about character*(*) declarations. Solution: Used F90 character(len=*) declarations. Platforms tested: Solaris 2.7 and Linux 2.4
* [svn-r5493] Elena Pourmal2002-05-315-13/+13
| | | | | | | | | | | Purpose: Code cleanup Description: Many F90 compilers were not happy about character*(*) declarations. Solution: Used F90 character(len=*) declarations. Platforms tested: Solaris 2.7 and Linux 2.4
* [svn-r5489] Purpose:Bill Wendling2002-05-302-4/+167
| | | | | | | | | | | | | Bug Fix Description: On Linux 2.4 kernel, we need to check for Linux LFS support. There was a failure in the Fortran code when we tried to pass a 4 byte off_t variable to a function which expected an 8 byte off_t. This is due to there being no check for the LFS support in the Fortran code. Solution: Added the check for Linux LFS support. Platforms tested: Elena will test on Linux platform...
* [svn-r5482] Description:Albert Cheng2002-05-291-7/+29
| | | | | | | | | | | | | | Show IO API types selected. (Changed the default setting algorithm slightly.) Solution: [details about the changes, algorithm, etc...] [Please as detail as you can since your own explanation is better than others guessing it from the code.] Platforms tested: [machines you have tested the changed version. This is absolute important. Test it out on at least two or three different platforms such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and 64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
* [svn-r5480] Description:Albert Cheng2002-05-294-12/+12
| | | | | | | Renamed pio_info_g as h5_io_info_g to better reflect its general purpose. Platforms tested: eirene(pp)
* [svn-r5479] Purpose:Albert Cheng2002-05-292-46/+56
| | | | | | | | | Sync with v1.5 changes. (Including the H5_WANT_H5_V1_4_COMPAT code is okay since it will never be true in v1.4) Did another Dependencies regeneration too. Platforms tested: eirene(pp)
* [svn-r5478] Purpose:Albert Cheng2002-05-291-21/+56
| | | | | | updated the Dependencies file Platforms tested: no test.
* [svn-r5476] Purpose:Albert Cheng2002-05-291-20/+31
| | | | | | Sync it with the v1.5 Platforms tested: eirene(pp)
* [svn-r5474] Purpose:Albert Cheng2002-05-291-33/+3
| | | | | | Sync it with the v1.5 copy. Platforms tested: eirene(pp);
* [svn-r5473] Purpose:Albert Cheng2002-05-294-18/+167
| | | | | | | | Folded recent changes of v1.5 to v1.4. (Added feature to print bench test parameters/options. Fixed pio_info_g duplicated declarations.) Platforms tested: eirene(pp)
* [svn-r5464] Snapshot version 1.4 release 4 (snap5)HDF Admin2002-05-2810-35/+35
|
* [svn-r5462] Purpose:Albert Cheng2002-05-283-2/+12
| | | | | | | | | feature Description: 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-r5461] Purpose:Albert Cheng2002-05-251-14/+20
| | | | | | | | | Bug fix Description: Fix the POSIX read/write part to check the return code of Seek/read/write correctly. Platforms tested: LLNL SP
* [svn-r5460] Purpose:Albert Cheng2002-05-241-4/+6
| | | | | | | | | | Features. Description: 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. Platforms tested: modi4
* [svn-r5459] Purpose:Albert Cheng2002-05-241-2/+6
| | | | | | | | | Feature. Description: Will print standard library name if program name is not given for the print_version(). Platforms tested: modi4
* [svn-r5458] MuQun Yang2002-05-231-0/+0
| | | | | | | | | | | Purpose: update project file Description: forget updating dset_cpp and dset_cppdll in order to erase linking errors. Solution: update it Platforms tested: windows 2000
* [svn-r5455] Purpose:Bill Wendling2002-05-221-93/+158
| | | | | | | | | | | | | | | Option Update Description: Updated the options so that it takes the following: --api=AL -A AL where AL is a comma separated list of the values "posix", "mpiio", and "phdf5". You can run any mixture of them you wish. --debug=DL -D DL where DL is a comma separated list of values [1-4], r, and t. You can run any mixture of them. Platforms tested: Linux-pp
* [svn-r5454] MuQun Yang2002-05-221-316/+12
| | | | | | | | | | | | Purpose: update install_windows.txt remove hdf4-related stuff in the install_windows.txt modify the this file to reflect the retirement of HAVE_*** in HDF5 configuration process. Description: 1) hdf4 related tools have been moved out of HDF5 CVS tree, The install doc should reflect this. 2) Albert finished macro changes from HAVE_*** to H5_HAVE_***. The doc should reflect this. Solution: Platforms tested:
* [svn-r5451] Purpose:Albert Cheng2002-05-225-259/+436
| | | | | | | | | | | | | | | | | | | | | | | | | | | Merged in a bunch of changes Quincey made. Added some of mine here and there. Description: Below is Quincey's summary. The -r and -t changes were changed to "-D r" and "-D t" as they are of the debug purposes. Need to save option letters for hundreds of future features. The nofill for chunk storage is not supported since v1.4 does not have the feature. - Added option (-r) to display the throughput when doing I/O on just the dataset data. This is somewhat redundant for the posix I/O functions and MPI-I/O, but it's useful for HDF5. - Added option (-t) to display the times along with the throughputs. - Added options (-a <size> and -T <size>) to align objects in the HDF5 file. These are ignored for posix and MPI-I/O benchmarks. - Added option (-c) to create the HDF5 datasets using chunked storage. The chunks are created with the same size as the buffer size used for I/O, so all I/O to the dataset is chunk-aligned. - Changed code to allow 0-sized datasets to be created. This is useful when measuring the overhead for creating lots of datasets in HDF5. - Cleaned up code to eliminate warnings and modularize things better. Platforms tested: modi4 (pp)
* [svn-r5450] Description:Albert Cheng2002-05-213-56/+56
| | | | | | | | | | | | | | | | | The term RAWIO was confusing (lacking a better term). It was intended to represent the "raw" way of doing I/O such that an application may use the open/read/write interface (actually Posix) or the parallel file system's native API (e.g. gpfs_open). It was too confusing to mean multiple things. Solution: Split the RAW IO into two different IO API, POSIX and NATIVE. Posix is a standard that some applications that have used it for the serial version, may want to continue using it in the parallel environment. Changed the output and variable/macro/what-not names from RAWxxx to POSIXxxx. No algorithm changes. Platforms tested: modi4(pp), eirene(serial)
* [svn-r5449] Purpose:Albert Cheng2002-05-211-7/+3
| | | | | | | | | | Code Cleanup Description: Compilers moaned about those unused mpi_err variables. Solution: Removed them for now. Will make it cleaner later. Platforms tested: modi4(pp), eirene.
* [svn-r5448] Purpose:Quincey Koziol2002-05-211-32/+38
| | | | | | | | | | | Code cleanup Description: Guard against getting into metadata broadcast in write routine and improve some error handling. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5445] Purpose:Albert Cheng2002-05-214-68/+95
| | | | | | | | | 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-r5438] Snapshot version 1.4 release 4 (snap4)HDF Admin2002-05-1811-45/+65
|
* [svn-r5432] Purpose:Quincey Koziol2002-05-171-2/+6
| | | | | | | | | | | | | | | | | | Document Bug fix/Code improvement below: Description: Currently, the chunk data allocation routine invoked to allocate space for the entire dataset is inefficient. It writes out each chunk in the dataset, whether it is already allocated or not. Additionally, this happens not only when it is created, but also anytime it is opened for writing, or the dataset is extended. Worse, there's too much parallel I/O syncronization, which slows things down even more. Solution: Only attempt to write out chunks that don't already exist. Additionally, share the I/O writing between all the nodes, instead of writing everything with process 0. Then, only block with MPI_Barrier if chunks were actually created.
* [svn-r5431] Purpose:Quincey Koziol2002-05-175-180/+260
| | | | | | | | | | | | | | | | | | | | | Bug fix/Code improvement. Description: Currently, the chunk data allocation routine invoked to allocate space for the entire dataset is inefficient. It writes out each chunk in the dataset, whether it is already allocated or not. Additionally, this happens not only when it is created, but also anytime it is opened for writing, or the dataset is extended. Worse, there's too much parallel I/O syncronization, which slows things down even more. Solution: Only attempt to write out chunks that don't already exist. Additionally, share the I/O writing between all the nodes, instead of writing everything with process 0. Then, only block with MPI_Barrier if chunks were actually created. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5425] Purpose:Albert Cheng2002-05-161-1/+2
| | | | | | corrected a typo in a printf statement. Platforms tested: modi4
* [svn-r5424] Purpose:Albert Cheng2002-05-163-5/+77
| | | | | | | | | | feature Description: Added a global MPI_Info object to be used by all applicable IO API (MPI-IO and PHDF5). Added a function to set up the info object according to $HDF5_MPI_INFO if set. Platforms tested: LLNL Blue/frost
* [svn-r5423] Purpose:Albert Cheng2002-05-151-24/+1
| | | | | | | Removed some local macro definition, instead use the macros defined by the hdf5 library configure. Platforms tested: LLNL blue
* [svn-r5421] Description:Albert Cheng2002-05-142-2/+2
| | | | | | | Corrected typos in the FUNC_ENTER macros of H5FD_sec2_flush and H5FD_log_flush. Platforms tested: modi4 (just tested it compiled fine.)
* [svn-r5420] Purpose:Quincey Koziol2002-05-141-19/+32
| | | | | | | | | | | | | | | | Code cleanup/Performance enhancement Description: The code to extend the file size in H5FD_mpio_flush is getting run even when the file size doesn't change. Also, it's sort of sidestepping MPI-I/O when extending the file, instead of using MPI-I/O features to set the file's size Solution: Only extend the file's size when the allocated size has increased. Also use MPI_File_set_size() to change the file's size. (Including barrier). Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5417] Purpose:Quincey Koziol2002-05-141-0/+2
| | | | Document Bug Fix
* [svn-r5416] Purpose:Quincey Koziol2002-05-141-0/+8
| | | | | | | | | | | | | | | Bug Fix Description: When H5Freopen is called, the file to reopen's 'intent' (read/write permissions, etc) is not being copied to the new file's 'intent' information. Solution: Copy it. :-) Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5413] Purpose:Quincey Koziol2002-05-141-12/+49
| | | | | | | | | | | | | | | | Bug fix Description: Calling MPI_Get_count needs to be done with the same MPI type as was used for the transfer and we are always using MPI_BYTE, even when a different MPI type was used for the transfer. Solution: Only query MPI_Get_count with MPI_BYTE when we really used MPI_BYTE for the transfer. Wait for later to query MPI_Get_count with other MPI types. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5411] Purpose:Quincey Koziol2002-05-133-2/+49
| | | | | | | | | | | | | | | Performance enhancement Description: Doing an MPI_File_sync() just before a file is closed causing a large performance loss. Solution: Add flag to MPI file driver to avoid performance the MPI_File_sync() when the flag is set before a call to H5F_flush(). Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5410] Purpose:Quincey Koziol2002-05-131-0/+2
| | | | Document performance enhancement
* [svn-r5405] Description:Albert Cheng2002-05-131-1/+0
| | | | | | | Dumb bug fix. Forgot a debug printing statement. Removed it. Platforms tested: Burrwhite (linux 2.4) parallel.
* [svn-r5402] Purpose:Albert Cheng2002-05-133-26/+35
| | | | | | | | | | | | | | | | | | 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: LLNL blue/frost.