summaryrefslogtreecommitdiffstats
path: root/src/H5Dpkg.h
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r16973] Description:Quincey Koziol2009-05-211-2/+0
| | | | | | | | | | | | | | | | | | | | | | Refactor chunk cache entry information to remove some [actually] unused fields. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.5.6 (amazon) in debug mode Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r16851] Description:Quincey Koziol2009-04-231-7/+9
| | | | | | | | Clean up compiler warnings Tested on: Mac OS X/32 10.5.6 (amazon) (too minor to require h5committest)
* [svn-r16532] Description:Quincey Koziol2009-03-021-1/+2
| | | | | | | | | | Pass the chunk "user data" to H5D_chunk_unlock(), so that chunks with an address already aren't reallocated. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r16523] Purpose: Fix bugs related to H5Dset_extent and fill valuesNeil Fortner2009-02-271-1/+2
| | | | | | | | | Description: In some situations it was possible for the fill value to not be written to parts of a chunked dataset, particularly when extending and/or shrinking. Prior to the fix for the chunk cache (1015) these bugs would have been exceedingly rare. Tested: jam, smirom, linew (h5committest)
* [svn-r16480] Purpose: Improve chunk cacheNeil Fortner2009-02-121-1/+3
| | | | | | | | | | | Description: The meaning of the "nbytes" field in H5D_rdcc_t was not clear, and some places assumed it was the maximum size of the chunk cache, while some assumed it was the current size of the chunk cache. The end result was that only 1 chunk could be held in cache at a time. This field has been replaced by "nbytes_max" and "nbytes_used". Performance of cached I/O should improve greatly. Tested: jam, smirom (h5committest)
* [svn-r16465] Performance Improvement(bug #1450). When a chunk is bigger ↵Raymond Lu2009-02-111-1/+1
| | | | | | | | | than the cache size and isn't allocated on disk, the library still loaded it in the cache, which is redundant. I changed it to bypass the cache and added a test in dsets.c. Tested on jam and smirom.
* [svn-r16354] Description:Quincey Koziol2009-01-271-0/+10
| | | | | | | | | | | Bring r16353 back from revise_chunks branch: Refactor internal layout information, making it easier to add another type of chunk index. Tested on: FreeBSD/32 6.3 (duty) (other platforms tested with original patch)
* [svn-r16182] Description:Quincey Koziol2008-12-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | Rename internal routines, variables, macros, typedefs, etc. for chunked dataset storage from "istore" to some variant of "chunk" or "btree". Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r16062] Purpose: Allow per-dataset rdcc configurationNeil Fortner2008-11-121-3/+5
| | | | | | | | Description: Adds 3 new public functions: H5Pset_chunk_cache, H5Pget_chunk_cache, and H5Dget_access_list. First implementation of dataset access properties. See RFC_chunk_cache_functions for details. Tested: kagiso, linew, smirom (h5committest)
* [svn-r15800] Description:Quincey Koziol2008-10-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Bring file free space branch changes through r15795 into trunk, which includes a fair bit of code cleanup & rearrangement along with a couple of bug fixes also. Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r15682] Purpose: fix bug 1298Neil Fortner2008-09-221-1/+1
| | | | | | | | | | | Description: The optimized "subset" compound conversion function would improperly copy the "blank" space at the end of compound types. Modified H5T_conv_struct_init to detect when the subset type has extra space at the end, and calculate the size of the data that should be copied into the conversion buffer for each element. Changes to the functions that implement these conversions. Tested: kagiso, linew, smirom (h5committest)
* [svn-r15628] Description:Quincey Koziol2008-09-161-4/+4
| | | | | | | | | | | | | Remove trailing whitespace from C/C++ source files, with the following script: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Tested on: Mac OS X/32 10.5.5 (amazon) No need for h5committest, just whitespace changes...
* [svn-r15609] Description:Quincey Koziol2008-09-101-6/+6
| | | | | | | | Omnibus compiler warning cleanup & some reformatting also. Tested on: Mac OS X/32 10.5.4 (amazon) Too minor to require h5committest
* [svn-r15131] Description:Quincey Koziol2008-06-031-126/+173
| | | | | | | | | | | | | | | | | | | | | | Finish omnibus chunked dataset I/O refactoring, to separate general actions on chunked datasets from actions that are specific to using the v1 B-tree index. Cleaned up a few bugs and added some additional tests also. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15015] Description:Quincey Koziol2008-05-161-9/+9
| | | | | | | | | | | | | | | | | Detect chunks that are >4GB before dataset gets created and return error to application. Tweak lots of internal variables that hold the chunk size/dimensions to use an 'uint32_t', instead of a 'size_t', so that the integer size is constant. Correct a number of our tests which were creating datasets with chunks that were >4GB and add some specific tests for >4GB chunk size detection. Minor whitespace & other code cleanups. Tested on: Mac OS X/32 10.5.2 (amazon) Forthcoming testing on other platforms...
* [svn-r14903] Undoing change committed in r14902.Scot Breitenfeld2008-04-301-126/+212
|
* [svn-r14902] Merged fortran_1_8 branch changes r14505:14901 into the trunk. ↵Scot Breitenfeld2008-04-301-212/+126
| | | | New fortran wrappers added.
* [svn-r14860] Description:Quincey Koziol2008-04-241-126/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Omnibus raw data I/O revisions, with wide-ranging changes and refactoring, in order to prepare for implementing "fast append" feature. These changes remove the majority of the code duplication for raw data I/O which has crept in over the last ten years and introduces a more object- oriented design for operating on different types of dataset storage. Chunked storage no longer has it's own I/O routines, it is now handled as either contiguous (if chunk is not pulled into the cache) or compact (if the chunk is cached in memory). No bug or feature changes, at least intentionally... :-) Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14334] Description:Quincey Koziol2007-12-101-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | - Avoid trying to update 1-D dataset's chunk indices (they can't change) - Cache a copy of a dataspace describing a chunk, when doing single element I/O - Keep a 'chunk info' struct around, for single element I/O - Avoid creating a skip list for chunk infos when performing I/O on single element Also, minor formatting cleanups to testing code Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14326] Description:Quincey Koziol2007-12-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | - Keep skip list for tracking chunks with dataset (instead of creating/ destroying it for each I/O operation) and just delete the skip list nodes. - Avoid computations for normalizing selection offset when offset not set. - Avoid updating object modification time twice during dataset creation. - Avoid updating dataset layout message (and object modification time) until dataset is closed. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14295] Description:Quincey Koziol2007-11-271-3/+17
| | | | | | | | | | | | | | | | | | | | | | - Eliminate some redundant calls to retrieve datatype sizes in chunk read/ write routines. - Change indexed storage "common" B-tree callback user data to avoid copying chunk offset and separate "downward" info from "upward" info. - Cache chunk info (nbytes/filter_mask/address) for last chunk accessed Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14278] Description:Quincey Koziol2007-11-201-7/+12
| | | | | | | | | | | | | | | | | | | | - Remember # of elements in file selection, instead of querying more than once - Handle building chunk map for single element as special case Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14250] Description:Quincey Koziol2007-11-101-5/+8
| | | | | | | | | | | | | | | | | | | | | - Changed name of chunk mapping structure from "fm_map" to "H5D_chunk_map_t" - Pushed parallel I/O specific fields into ifdef'ed sections, when building chunk map - Took out most calls to IS_H5FD_MPI macro Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14249] Description:Quincey Koziol2007-11-101-1/+0
| | | | | | | | | | | | | | | | | | | | | - Changed H5S_select_shape_same routine to handle scalar dataspace comparisons correctly. (Added regression tests to verify) - Simplified chunk map creation, now that scalar dataspaces are handled in same way as "simple" dataspaces. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14248] synced fast_append branch with trunk (bring over general ↵Quincey Koziol2007-11-101-0/+1
| | | | dataset append record speed improvements)
* [svn-r14203] Description:Quincey Koziol2007-10-111-4/+27
| | | | | | | | | | | | | | | | | | | Break up H5D source file into H5D/H5Dint/H5Ddeprec Attempt fix for "szip noencoder" build failure. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode
* [svn-r13997] Moved H5D_istore_lock and H5D_istore_unlock from ↵Raymond Lu2007-07-211-18/+64
| | | | | | | | | H5D_istore_writevv and H5D_istore_readvv to H5D_chunk_write and H5D_chunk_read to avoid frequent lock and unlock and to improve some performance. Tested with h5committest on THG machines.
* [svn-r13984] Description:Quincey Koziol2007-07-171-1/+2
| | | | | | | | | | | Various code cleanups and refactor recent changes for h5stat to fit into the existing library data structures better. Tested on: Mac OS X/32 10.4.10 (amazon) FreeBSD/32 6.2 (duty) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13978] purpose:Vailin Choi2007-07-131-0/+1
| | | | | | | | | | | | | | New feature. Description: Added routines to report on the amount of storage for: 1) 1.6 btree and heap storage info for groups 2) 1.8 btree, fractal heap storage info for groups, attributes and SOHM table 3) btree storage for chunked datasets 4) 1.8 superblock extension size. Platform tested: h5committested.
* [svn-r13918] Description:Quincey Koziol2007-06-261-1/+40
| | | | | | | | | | Refactor fill value buffer code into one location, for better long-term maintenance. Tested on: Mac OS X/32 10.4.10 (amazon) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13842] Description:Quincey Koziol2007-06-081-0/+1
| | | | | | | | | | | | Fix compact dataset storage to initialize VL datatype fill values correctly. Also, fix bug in global heap code when the fix action on a global heap is to delete an object in a heap with no free space. Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13743] Description:Quincey Koziol2007-05-101-1/+2
| | | | | | | | | | | Don't delete chunks from the dataset's B-tree while we are iterating over the B-tree, when reducing the size of the dataset's dataspace with H5Dset_extent(). Tested on: Mac OS X/32 2.6 (amazon) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13636] Description:Quincey Koziol2007-04-111-1/+15
| | | | | | | | | | | | | | Change H5[D|G|T]<foo>_expand() "temporary" API routines to H5[D|G|T]<foo>2() "versioned" routines. Also added H5[D|G|T](create|commit)_anon() routines to continue to allow "anonymous" objects to be created in a file. Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r13167] Description:Quincey Koziol2007-01-221-6/+0
| | | | | | | | | | | Get rid of two different types of fill value struct (merge H5O_fill_t and H5O_fill_new_t) and clean up & simplify dataset initialization code. (In preparation for shared object header message method call refactoring). Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13002] Description:Quincey Koziol2006-11-301-1/+1
| | | | | | | | | | | | Fix problem with copying objects when the dataset to copy has an "older" version of the layout message and needs to compute the size of the dataset's storage after the dataspace information is available. Minor random cleanups also... Tested on: FreeBSD/32 4.11 (sleipnir) Too minor/weird to test w/h5committest...
* [svn-r12932] Description:Quincey Koziol2006-11-171-1/+1
| | | | | | | | | | | | Basic support for H5Literate() routine. Still needs to be fleshed out and refactored to simplify. Also, needs tests. :-) Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) AIX/32 5.? (copper) Mac OS X/32 10.4.8 (amazon)
* [svn-r12842] Description:Quincey Koziol2006-11-021-0/+1
| | | | | | | | | | | | | | | | Refactor generic property list initialization code to put property list specific routines in property list modules, instead of scattered to the four winds. Also, introduce property list class initialization objects, to make adding new property list classes in the library easier. Fix daily test failure by using H5Pget_elink_prefix() API routine instead of looking at the "raw" generic property list information. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) w/C++ & FORTRAN Linux/64 2.4 (mir) w/build-all & 1.6 compat
* [svn-r12727] 1. Cleaning up the comments of the source code.MuQun Yang2006-10-061-0/+5
| | | | | | | 2. Using H5Dmpio_Debug macro to reflect the debugging information of new parallel IO supports. They are very minor changes. Tested at heping. t_pflush2 failed. Others passed.
* [svn-r12680] Description:Quincey Koziol2006-09-251-11/+12
| | | | | | | | | Review, revise & checkin in Peter's latest round of object copy changes, which add basic support for datasets & attributes with reference datatypes. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12593] Description:Quincey Koziol2006-08-171-1/+3
| | | | | | | | | Clean up some of the parallel chunk I/O compiler warnings and other minor code rearrangement. Tested on: FreeBSD 4.11 (sleipnir) w/paralllel h5committest
* [svn-r12553] This check-in includes the following part of parallel ↵MuQun Yang2006-08-091-0/+1
| | | | | | | | | | | | | | | optimization codes: 1. Provide another option for users to do independent IO with MPI file setview(collectively) 2. With the request of collective IO from users, using Independent IO with MPI file setview if we find collective IO is not good for the applications for IO per chunk(multi-chunk IO) case. Previously we used pure independent IO and that actually performed small IO(IO each row) for this case. The recent performance study suggested the independent IO with file setview can acheieve significantly better performance than collective IO when not many processes participate in the IO. 3. For applications that explicitly choose to do collective IO per chunk case, the library won't do any optimization(gather/broadcast) operations. The library simply passes the collective IO request to MPI-IO. Tested at copper, kagiso, heping, mir and tungsten(cmpi and mpich) Kagiso is using LAM, t_mpi test was broken even. The cchunk10 test failed at heping and mir. I suspected it was an MPICH problem. Will investigate later. Everything passed at copper. at tungsten: the old cmpi bug(failed at esetw) is still there. Other tests passed. Some sequential fheap tests failed at kagiso.
* [svn-r12474] Quincey Koziol2006-07-151-3/+3
| | | | | | | | Clean up some compiler warnings. Tested on: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r12128] Purpose:Quincey Koziol2006-03-221-4/+2
| | | | | | | | | | | Code cleanup Description: Clean up some compiler warnings (esp. those flagged on Windows builds) Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11960] Purpose:MuQun Yang2006-02-211-2/+2
| | | | | | | | | | | | | | code clean up Description: Clean up some warnings in collective chunk IO code Solution: Platforms tested: heping Misc. update:
* [svn-r11950] Purpose:MuQun Yang2006-02-161-30/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enhanced collective chunk IO supports Description: 1. When using collective IO with chunking storage without any tuning, performance may become worse under some circumstances. 2. Current HDF5 handles raw-data IO per chunk. So for many small chunks, many small IOs will be passed into MPI-IO. That may cause bad performance. 3. For one IO per chunk case, sometimes performance with collective is worse than performance with independent. An obvious case is when only one process is doing IO and all other process are not doing IO, the collective IO will only add overheads for communication. We want to avoid this case. Some management inside our library needs to be done. Solution: - Added managements of collective IO supports for chunking storage inside parallel HDF5 1) Implemented One IO with collective mode for all chunks in the application by building one MPI derived datatype accross all chunks. 2) Implemented the decision-making support to do collective IO inside MPI-IO per chunk. 3) Added the decision-making support to do one IO accross all chunks or to do multiple IOs with each IO per chunk. 4) Added the support to handle the case some processes won't do any IOs in collectively. 5) Some MPI-IO package(mpich 1.2.6 or lower, e.g.) cannot handle collective IO correctly for the case when some processes have no contributions to IOs, a special macro is added to change collective IO mode to independent IO mode inside HDF5 library. Platforms tested: Parallel: IBM AIX 5.2(copper) Linux (heping) mpich-1.2.6 SDSC Teragrid mpich-1.2.5 Linux(Tungsten) mpich-1.2.6 Altix(NCSA cobalt) Seq: Linux(heping) Misc. update:
* [svn-r11899] Purpose:Quincey Koziol2006-01-281-4/+4
| | | | | | | | | | | | | | | | Bug fix & new feature Description: Support variable-length datatypes in compact data storage and chunked data storage, along with attributes. Bug fix on the H5T_vlen_set_loc to allow for changing the file on a variable-length datatype on disk. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 Can't h5committest right now, due to missing cache files.
* [svn-r11758] Purpose:Quincey Koziol2005-12-041-1/+4
| | | | | | | | | | | | | New feature Description: Add in a combination of Peter's & my code to support copying variable-length data from one file to another, although currently only supported with contiguous data storage. Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r11739] Purpose:MuQun Yang2005-11-181-1/+1
| | | | | | | | | | | | | | slight code change for efficiency of iteration of chunk address Description: Quincey picked this up because of my inexperience of C. A pair of redundant malloc and free calls will be removed. Solution: Platforms tested: heping(Linux 2.4) too little to be tested. Misc. update:
* [svn-r11728] Purpose:MuQun Yang2005-11-151-0/+1
| | | | | | | | | | | | | | | | | To support collective chunk IO, obtain the chunk addresses globally from one process. Description: Implement a call-back function to iterate B-tree to do the job. Check in this code for major check-ins later. Solution: Platforms tested: heping(Linux) Should not be used by any library functions now, so won't affect library and tool tests. No need to test on 3 platforms. Misc. update: