summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r5864] ./hdf5-devel/src/H5private.hRobb Matzke2002-08-091-37/+33
| | | | | | | | | | | | | | | | | Purpose: Merged from 1.4 branch Description: API tracing improvements Platforms tested: Linux (--disable-hsizet didn't work before my changes and still doesn't work, but --enable-hsizet is fine). Note: This checkin includes temporary code in H5FDmpiposix.c to turn off GPFS byte range token prefetches on ASCI/Blue. Once the HDF5 API supports the necessary prerequisite functionality this temporary code can be migraged up above HDF5.
* [svn-r5863] ./hdf5-devel/src/H5T.cRobb Matzke2002-08-091-1/+1
| | | | | | | | | | | | | | | | | Purpose: Merged from 1.4 branch Description: API tracing improvements Platforms tested: Linux (--disable-hsizet didn't work before my changes and still doesn't work, but --enable-hsizet is fine). Note: This checkin includes temporary code in H5FDmpiposix.c to turn off GPFS byte range token prefetches on ASCI/Blue. Once the HDF5 API supports the necessary prerequisite functionality this temporary code can be migraged up above HDF5.
* [svn-r5862] ./hdf5-devel/src/H5O.cRobb Matzke2002-08-091-3/+3
| | | | | | | | | | | | | | | | | Purpose: Merged from 1.4 branch Description: API tracing improvements Platforms tested: Linux (--disable-hsizet didn't work before my changes and still doesn't work, but --enable-hsizet is fine). Note: This checkin includes temporary code in H5FDmpiposix.c to turn off GPFS byte range token prefetches on ASCI/Blue. Once the HDF5 API supports the necessary prerequisite functionality this temporary code can be migraged up above HDF5.
* [svn-r5861] ./hdf5-devel/src/H5FDmpiposix.cRobb Matzke2002-08-091-0/+35
| | | | | | | | | | | | | | | | | Purpose: Merged from 1.4 branch Description: API tracing improvements Platforms tested: Linux (--disable-hsizet didn't work before my changes and still doesn't work, but --enable-hsizet is fine). Note: This checkin includes temporary code in H5FDmpiposix.c to turn off GPFS byte range token prefetches on ASCI/Blue. Once the HDF5 API supports the necessary prerequisite functionality this temporary code can be migraged up above HDF5.
* [svn-r5860] ./hdf5-devel/src/H5.cRobb Matzke2002-08-091-14/+89
| | | | | | | | | | | | | | | | | Purpose: Merged from 1.4 branch Description: API tracing improvements Platforms tested: Linux (--disable-hsizet didn't work before my changes and still doesn't work, but --enable-hsizet is fine). Note: This checkin includes temporary code in H5FDmpiposix.c to turn off GPFS byte range token prefetches on ASCI/Blue. Once the HDF5 API supports the necessary prerequisite functionality this temporary code can be migraged up above HDF5.
* [svn-r5843] Purpose:Quincey Koziol2002-08-086-18/+18
| | | | | | | | | | | Code cleanup Description: Clean up a few warnings which were showing up with --enable-production turned on. Platforms tested: FreeBSD 4.6 (sleipnir) serial & parallel
* [svn-r5842] Purpose:Quincey Koziol2002-08-0864-8376/+7713
| | | | | | | | | | | | | | | | Code cleanup Description: Change most (all?) HRETURN_ERROR macros to HGOTO_ERROR macros, along with HRETURN macros to HGOTO_DONE macros. This unifies the error return path from functions and reduces the size of the library by up to 10% on some platforms. Additionally, I improved a lot of the error cleanup code in many routines. Platforms tested: FreeBSD 4.6 (sleipnir) serial & parallel and IRIX64 6.5 (modi4) serial & parallel.
* [svn-r5841] Snapshot version 1.5 release 32HDF Admin2002-08-032-3/+3
|
* [svn-r5840] Purpose:Quincey Koziol2002-07-3120-790/+556
| | | | | | | | | | | | | | Code cleanup Description: Created a new H5I function which combined the some of the functionality of H5I_get_type and H5I_object: H5I_object_verify. Using this new function in the library trims another ~200 lines of code off the library and makes the resulting binaries smaller and faster also. Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5839] Purpose:Quincey Koziol2002-07-3116-1962/+1829
| | | | | | | | | | | | | | | Code cleanup Description: Move operations on each type of selection into the source code file for each selection type (all->H5Sall.c, hyperslab->H5Shyper.c, etc.) Remove central H5S_select_<foo> operations, instead calling the operations through function pointers in each selection (a much more object-oriented approach). Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5835] Purpose:Quincey Koziol2002-07-241-1/+1
| | | | | | | | | | Bug fix. Description: Correct erroneous assertion. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5834] Purpose:Quincey Koziol2002-07-249-6141/+2735
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Large code cleanup/re-write Description: This is phase 1 of the data I/O re-architecture, with the following changes: - Changed the selection drivers to not actually do any I/O, they only generate the sequences of offset/length pairs needed for the I/O (or memory access, in the case of iterating or filling a selection in a memory buffer) - Wrote more abstract I/O routines which get the sequence of offset/ length pairs for each selection and access perform the I/O or memory access. Benefits of this change include: - Removed ~3400 lines of quite redundant code, with corresponding reduction in the size of library binary. - Any selection can now directly access memory when performing I/O, if no type conversions are required, instead of just "regular" hyperslab and 'all' selections, which speeds up I/O. - Sped up I/O for hyperslab selections which have contiguous lower dimensions by "flattening" them out into lesser dimensional objects for the I/O. No file format or API changes were necessary for this change. The next phase will be to create a "selection driver" for each type of selection, allowing each type of selection to directly call certain methods that only apply to that type of selection, instead of passing through dozens of functions which have switch statements to call the appropriate method for each selection type. This will also reduce the amount of code in the library and speed things up a bit more. Phase 3 will involve generating an MPI datatype for all types of selections, instead of only "regular" hyperslab and 'all' selections. This will allow collective parallel I/O for all I/O operations which don't require type conversions. It will also open up the door for allowing collective I/O on datasets which require type conversion. Phase 4 will involve changing the access pattern to deal with chunked datasets in a more optimal way (in serial). Phase 5 will deal with accessing chunked datasets more optimally for collective parallel I/O operations. Platforms tested: FreeBSD 4.6 (sleipnir) w/ parallel & C++ and IRIX64 6.5 (modi4) w/parallel
* [svn-r5832] Purpose:Quincey Koziol2002-07-241-7/+7
| | | | | | | | | | Code cleanup Description: Re-alphabetized header includes. Platforms tested: FreeBSD 4.6 (sleipnir) w/parallel & C++
* [svn-r5829] MuQun Yang2002-07-231-1/+1
| | | | | | | | | | Purpose: correct a typo in the H5FD_sec2_flush. Description: fd is not defined. It should be file->fd Solution: Platforms tested: windows 2000, linux 2.2.18smp
* [svn-r5828] Purpose:Quincey Koziol2002-07-233-7/+16
| | | | | | | | | | Code cleanup Description: Make the sieve buffer managed by the free-list code. Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5826] Purpose:Quincey Koziol2002-07-231-14/+19
| | | | | | | | | | | | | | Bug Fix Description: Dynamically allocated H5S_t structure was not being freed under certain error conditions. Solution: Free it. Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5819] Purpose:Quincey Koziol2002-07-211-6/+2
| | | | | | | | | | | | | | Bug Fix Description: non-parallel case for new metadata cache flushing property wasn't set up correctly. Solution: Initialize variables correctly. Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5814] Purpose:Quincey Koziol2002-07-1911-108/+304
| | | | | | | | | | | | | | | | | | Bug Fix Description: It was possible to create corrupted metadata information (either in memory or in the file or both) with a parallel I/O program because of the way metadata writes were being handled for writes out of the metadata cache. Solution: Added a dataset transfer property called "block before metadata write" which is used by the MPI-I/O and MPI-posix drivers to sync up all the processes before attempting a metadata write. This property is currently only for metadata writes from the metadata cache. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5812] Raymond Lu2002-07-172-15/+44
| | | | | | | | | Purpose: Bug fix. Description: This should fix the nested VL datatype bug. Platforms tested: modi4, eirene, impact
* [svn-r5809] Purpose:Quincey Koziol2002-07-171-1/+1
| | | | | | | | | | | | | | Bug fix Description: Deleting objects from a global heap was incorrectly setting the free space in the heap chunk. Solution: Encode correct amount of free space. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5807] Purpose:Bill Wendling2002-07-172-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Update, Bug Fix, and Feature Add Description: - Updated how AC_{ENABLE,WITH} help messages were being generated. Autoconf now gives you an AC_HELP_STRING macro to use to create them. - Fixed the problem with Linux LFS on RedHat 7.3 machines. It wasn't finding getdents64(), so we can't rely on that being present anymore... - Added GPFS detection and setting. - Updated how compression is specified. It's no longer necessary to test for HAVE_ZLIB_H, HAVE_LIBZ, and HAVE_COMPRESS2. The one macro {H5_}HAVE_COMPRESSION takes care of all of these. Solution: Changed the check for Linux LFS from looking for getdents() to looking at the version number of the kernel (using the uname -r command). You can still override with the --enable-linux-lfs switch if you really believe that your <2.4 kernel has LFS support. Platforms tested: Linux (2.2 and 2.4)
* [svn-r5799] Purpose:Quincey Koziol2002-07-1514-167/+1427
| | | | | | | | | | | | New feature. Description: Added MPI-posix VFL driver. This driver uses MPI to coordinate actions, but performs I/O directly with posix sec(2) I/O functions. This driver should _NOT_ be used if the file accessed is not on a parallel filesystem. Platforms tested: FreeBSD 4.6 (sleipnir) w/parallel & IRIX64 6.5 (modi4) w/parallel
* [svn-r5793] Purpose:Quincey Koziol2002-07-152-19/+37
| | | | | | | | | | | | Code cleanup Description: Changed a few direct calls to posix functions to use proper wrapper macros. Also, changed method of extending file to use ftruncate(). Platforms tested: FreeBSD 4.6 (sleipnir) && IRIX64 6.5 (modi4)
* [svn-r5789] Purpose:Quincey Koziol2002-07-152-2/+2
| | | | | | | | | | Code cleanup Description: Make a "H5T_t *" parameter into a "const H5T_t *" parameter. Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5787] Purpose:Quincey Koziol2002-07-121-1/+1
| | | | | | | | | | Update code Description: Re-enable free-lists, which were accidentally disabled from last checkin. Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5785] Purpose:Quincey Koziol2002-07-122-51/+37
| | | | | | | | | | Code update Description: Re-arrange to disable free-list code in a more transparent way. Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5784] Purpose:Quincey Koziol2002-07-121-91/+100
| | | | | | | | | | | | | | | Bug fix. Description: "strong" file closing feature was re-using free'd memory for objects which were still open in the file. Solution: Used the "dmalloc" tools to determine where the memory was being re-used and re-arranged the code to avoid these cases. Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5783] Purpose:Quincey Koziol2002-07-122-2/+6
| | | | | | | | | | New code Description: Add a few new error messages. Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5782] Purpose:Quincey Koziol2002-07-122-3/+13
| | | | | | | | | | | New feature Description: Add support in for "dmalloc" debugging malloc library to configure script and library headers. Platforms tested: IRIX64 6.5 (modi4) and FreeBSD 4.6 (sleipnir)
* [svn-r5779] Raymond Lu2002-07-111-3/+4
| | | | | | | | | | | Purpose: Bug fix Description: Nested VL datatype test fails on 64-bit machines Solution: bug fixed. Platforms tested: IRIX64 6.5(modi4) 64-bit
* [svn-r5776] Raymond Lu2002-07-101-2/+19
| | | | | | | | | | | | | Purpose: Bug fix. Description: For nested VL datatype, the heap object of VL elements lower than top level weren't freed. Solution: Read in the content of heap object for VL elements and free them in function H5T_conv_vlen. Platforms tested: eirene
* [svn-r5774] Snapshot version 1.5 release 31HDF Admin2002-07-061-2/+2
|
* [svn-r5764] Raymond Lu2002-07-034-30/+83
| | | | | | | | | | | Purpose: Bug Fix. Description: VL type memory leak when data is overwritten. Solution: Free heap objects holding old data. Platforms tested: Linux 2.2(eirene), IRIX 6.5(paz).
* [svn-r5759] Purpose:Quincey Koziol2002-07-021-5/+9
| | | | | | | | | | | | Bug fix. Description: Correct the previous code for detecting 1-D contiguous hyperslabs to detect an extra case that the development branch has, but the release branch doesn't have. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5740] Purpose:Quincey Koziol2002-07-011-2/+6
| | | | | | | | | | | | | | | Bug fix. Description: 1-D non-contiguous hyperslabs were erroneously being detected as contiguous and were causing incorrect behavior for parallel I/O benchmark (and parallel programs in general). Solution: Modified algorithm to handle 1-D case correctly. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5726] Snapshot version 1.5 release 30HDF Admin2002-06-291-2/+2
|
* [svn-r5723] Raymond Lu2002-06-271-3/+2
| | | | | | | | | | | Purpose: Fix bug Description: In function H5HG_remove, heap object header wasn't included for size. Solution: Added heap object header in. Platforms tested: Linux 2.2(eirene).
* [svn-r5707] Purpose:Quincey Koziol2002-06-251-0/+4
| | | | | | | | | | | | | | Bug Fix. Description: Contiguous types created for "all" and contiguous hyperslab selections was not being committed before using them. Solution: Commit them. :-) This fixes the problems on the LLNL Blue Pacific machine. Platforms tested: LLNL Blue Pacific w/parallel.
* [svn-r5690] Purpose:Quincey Koziol2002-06-241-29/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix Description: When parallel I/O is used, the MPI-I/O VFL driver uses a "lazy" model to call MPI_File_set_view() in order to reduce the number of calls to this function. However, this is unsafe, because if a collective I/O which uses MPI derived types (and thus uses MPI_File_set_view()) is immediately followed by an independent I/O, the code will attempt to call MPI_File_set_view() in order to switch back to the default view of the file. MPI_File_set_view() is a collective call however, and this causes the application to hang. Solution: Removed "lazy" MPI_File_set_view() code, instead set the file view when it is needed (with MPI derived types) and immediately set the file view back to the default view before leaving the I/O routine. Platforms tested: IRIX64 6.5 (modi4) w/parallel. Also, tested with the latest development and release code for the SAF library, which now works correctly with this change. (Although the release branch of the SAF library seems to have a bug, this 1.4.4 release candidate code gets as far as the version the SAF library is released on top of (1.4.2-patch1, I believe)).
* [svn-r5680] Purpose:Quincey Koziol2002-06-194-37/+97
| | | | | | | | | | | | | | | | | | | | New feature. Description: There is some discussion among the SAF team as to whether it is better to use MPI derived types for raw data transfers (thus needing a MPI_File_set_view() call), or whether it is better to use a sequence of low-level MPI types (i.e. MPI_BYTE) for the raw data transfer. Solution: Added an in internal flag to determine whether derived types are preferred (the default), or whether they should be avoided. An environment variable ("HDF5_MPI_PREFER_DERIVED_TYPES") can be set by users to control whether MPI types should be used or not. Set the environment variable to "0" (i.e.: 'setenv HDF5_MPI_PREFER_DERIVED_TYPES 0' to avoid using MPI derived types. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5677] Purpose:Quincey Koziol2002-06-1910-71/+52
| | | | | | | | | | | Code improvement Description: Some small code cleanups and took out the code the was turning off the metadata cache for parallel I/O (!) Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5674] Purpose:Quincey Koziol2002-06-194-15/+14
| | | | | | | | | | Code cleanup Description: Removed more compiler warnings, etc. Platforms tested: Linux 2.2.x (eirene) w/parallel
* [svn-r5670] Purpose:Quincey Koziol2002-06-193-26/+0
| | | | | | | | | | | Code cleanup Description: Remove "COALESCE_READS" ifdefs, which were brought in by the DPSS VFL driver and are no longer used. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5667] Purpose:Quincey Koziol2002-06-195-13/+13
| | | | | | | | | | Code cleanup Description: Turn on more warnings in the IRIX builds and clean them up. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5662] Purpose:Quincey Koziol2002-06-184-221/+28
| | | | | | | | | | | | | | | | | Bug fix. Description: The chunking code was using internal allocation routines to put blocks on a free list for reuse, instead of using the system allocation routines (ie. malloc, free, etc.). This causes problems when user filters attempt to allocate/free chunks for their algorithm's use. Solution: Switched the chunking code back to using the system allocation routines, we can address performance issues with them if it becomes a real problem. Platforms tested: Linux 2.2.x (eirene) && IRIX64 6.5 (modi4)
* [svn-r5660] Purpose:Quincey Koziol2002-06-183-128/+236
| | | | | | | | | | | | Code optimization Description: Avoid creating MPI types (and thus requiring a MPI_File_set_view() call) when contiguous selections are used for dataset I/O. This should be a performance improvement for those sorts of selections. Platforms tested: Linux 2.2.x (eirene) w/parallel && IRIX64 6.5 (modi4) w/parallel & FORTRAN
* [svn-r5652] Purpose:Quincey Koziol2002-06-175-36/+112
| | | | | | | | | | | | Code cleanup Description: Use dataset transfer property list to hold information about the MPI types for the current transfer, instead of setting pseudo-global variables in the file's struct. Platforms tested: Linux 2.2.x (eirene) w/parallel & IRIX64 6.5 (modi4) w/parallel & FORTRAN
* [svn-r5650] Purpose:Quincey Koziol2002-06-173-29/+68
| | | | | | | | | | | | Code cleanup Description: Change MPI-I/O code to use the address of the dataset for the displacement, instead of having a separate displacement value. Removed displacement parameter from H5FD_mpio_setup parameters. Platforms tested: Linux 2.2.x (eirene) w/parallel & IRIX64 6.5 (modi4) w/parallel.
* [svn-r5636] Purpose:Quincey Koziol2002-06-141-2/+2
| | | | | | | | | | Default change Description: Enable the use of MPI types for collective I/O by default. Platforms tested: Linux 2.2.x (eirene) w/parallel
* [svn-r5630] Elena Pourmal2002-06-132-0/+6
| | | | | | | | | | | | | | | | Purpose: [is this a bug fix? feature? ...] Description: [describe the bug, or describe the new feature, etc] 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.]