summaryrefslogtreecommitdiffstats
path: root/configure
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r6252] Purpose:Quincey Koziol2003-01-091-4/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lots of performance improvements & a couple new internal API interfaces. Description: Performance Improvements: - Cached file offset & length sizes in shared file struct, to avoid constantly looking them up in the FCPL. - Generic property improvements: - Added "revision" number to generic property classes to speed up comparisons. - Changed method of storing properties from using a hash-table to the TBBT routines in the library. - Share the propery names between classes and the lists derived from them. - Removed redundant 'def_value' buffer from each property. - Switching code to use a "copy on write" strategy for properties in each list, where the properties in each list are shared with the properties in the class, until a property's value is changed in a list. - Fixed error in layout code which was allocating too many buffers. - Redefined public macros of the form (H5open()/H5check, <variable>) internally to only be (<variable>), avoiding innumerable useless calls to H5open() and H5check_version(). - Reuse already zeroed buffers in H5F_contig_fill instead of constantly re-zeroing them. - Don't write fill values if writing entire dataset. - Use gettimeofday() system call instead of time() system when checking the modification time of a dataset. - Added reference counted string API and use it for tracking the names of objects opening in a file (for the ID->name code). - Removed redundant H5P_get() calls in B-tree routines. - Redefine H5T datatype macros internally to the library, to avoid calling H5check redundantly. - Keep dataspace information for dataset locally instead of reading from disk each time. Added new module to track open objects in a file, to allow this (which will be useful eventually for some FPH5 metadata caching issues). - Remove H5AC_find macro which was inlining metadata cache lookups, and call function instead. - Remove redundant memset() calls from H5G_namei() routine. - Remove redundant checking of object type when locating objects in metadata cache and rely on the address only. - Create default dataset object to use when default dataset creation property list is used to create datasets, bypassing querying for all the property list values. - Use default I/O vector size when performing raw data with the default dataset transfer property list, instead of querying for I/O vector size. - Remove H5P_DEFAULT internally to the library, replacing it with more specific default property list based on the type of property list needed. - Remove redundant memset() calls in object header message (H5O*) routines. - Remove redunant memset() calls in data I/O routines. - Split free-list allocation routines into malloc() and calloc()- like routines, instead of one combined routine. - Remove lots of indirection in H5O*() routines. - Simplify metadata cache entry comparison routine (used when flushing entire cache out). - Only enable metadata cache statistics when H5AC_DEBUG is turned on, instead of always tracking them. - Simplify address comparison macro (H5F_addr_eq). - Remove redundant metadata cache entry protections during dataset creation by protecting the object header once and making all the modifications necessary for the dataset creation before unprotecting it. - Reduce # of "number of element in extent" computations performed by computing and storing the value during dataspace creation. - Simplify checking for group location's file information, when file has not been involving in file-mounting operations. - Use binary encoding for modification time, instead of ASCII. - Hoist H5HL_peek calls (to get information in a local heap) out of loops in many group routine. - Use static variable for iterators of selections, instead of dynamically allocation them each time. - Lookup & insert new entries in one step, avoiding traversing group's B-tree twice. - Fixed memory leak in H5Gget_objname_idx() routine (tangential to performance improvements, but fixed along the way). - Use free-list for reference counted strings. - Don't bother copying object names into cached group entries, since they are re-created when an object is opened. The benchmark I used to measure these results created several thousand small (2K) datasets in a file and wrote out the data for them. This is Elena's "regular.c" benchmark. These changes resulted in approximately ~4.3x speedup of the development branch when compared to the previous code in the development branch and ~1.4x speedup compared to the release branch. Additionally, these changes reduce the total memory used (code and data) by the development branch by ~800KB, bringing the development branch back into the same ballpark as the release branch. I'll send out a more detailed description of the benchmark results as a followup note. New internal API routines: Added "reference counted strings" API for tracking strings that get used by multiple owners without duplicating the strings. Added "ternary search tree" API for text->object mappings. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} Other platforms/configurations tested? FreeBSD 4.7 (sleipnir) serial & parallel Solaris 2.6 (baldric) serial
* [svn-r6231] Purpose:Albert Cheng2003-01-031-4/+112
| | | | | | | | | | | | | | | new feature Description: Added MPICH/MPE instrumentation support. All source code are bracketed by the macro H5_HAVE_MPE. Use "--enable-mpe" to configure it in. Currently only worked in Eirene because the MPE library is not installed in all machines yet. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)}? Yep. Other platforms/configurations tested? --enable-mpe feature tested in Eirene.
* [svn-r6221] Snapshot version 1.5 release 44HDF Admin2002-12-211-9/+9
|
* [svn-r6193] Snapshot version 1.5 release 43HDF Admin2002-12-071-9/+9
|
* [svn-r6134] Purpose:Albert Cheng2002-11-241-78/+0
| | | | | | | | | Cleanup Description: Removed the option (--enable-parallel=mpich). It did not work. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)}? All passed.
* [svn-r6133] Snapshot version 1.5 release 42HDF Admin2002-11-231-9/+9
|
* [svn-r6122] Purpose:Quincey Koziol2002-11-201-9/+9
| | | | | | | Bump version number Description: I made a snapshot available for the SAF team, so bump the version number.
* [svn-r6110] Purpose:Quincey Koziol2002-11-201-6/+1
| | | | | | | | | | | | | | | Code cleanup/new feature Description: Removed poorly named H5_HAVE_COMPRESSION flag in favor of H5_HAVE_FILTER_DEFLATE. Added new test files for "missing filter" testing. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} FreeBSD 4.7 (sleipnir)
* [svn-r6070] Purpose:Quincey Koziol2002-11-111-4/+55
| | | | | | | | | | | | | | | | | | | | | | | New feature. Description: Add in '--enable-filters=filter1,filter2' flag to configure script. This can also be used as '--enable-filters=all' or just '--enable-filters' to enable all the internal I/O filters in the library. This flag can also be set to '--disable-filters' to disable all the internal I/O filters. Individual filters can not be disabled due to the limitations of autoconf. Additionally, added "H5_HAVE_FILTER_<foo>" macros to H5pubconf.h header file, so the presence of each filter can be detected. This is in preparation for Kent's shuffling filter to be imported shortly. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} Tested FreeBSD 4.7 (sleipnir) also
* [svn-r6050] Snapshot version 1.5 release 40HDF Admin2002-11-021-9/+9
|
* [svn-r6033] Snapshot version 1.5 release 39HDF Admin2002-10-261-9/+9
|
* [svn-r6027] Purpose:Bill Wendling2002-10-231-4/+23
| | | | | | | | | Update Description: Added new files to the MANIFEST and added a new configure switch for enabling building of the Flexible parallel HDF5 module. Platforms tested: Modi4 Eirene Arabica
* [svn-r5979] Snapshot version 1.5 release 38HDF Admin2002-10-121-9/+9
|
* [svn-r5973] Purpose:Pedro Vicente Nunes2002-10-091-1/+2
| | | | | | | | | added h5fiff to configure and makefiles Platforms tested: linux 2.4.18
* [svn-r5949] Snapshot version 1.5 release 37HDF Admin2002-09-281-9/+9
|
* [svn-r5927] Snapshot version 1.5 release 36HDF Admin2002-09-141-9/+9
|
* [svn-r5912] Snapshot version 1.5 release 35HDF Admin2002-09-071-9/+9
|
* [svn-r5908] Snapshot version 1.5 release 34HDF Admin2002-08-311-9/+9
|
* [svn-r5878] Purpose:Albert Cheng2002-08-191-21/+36
| | | | | | | | | | | | fix/feature Description: v1.4's configure had enable-trace default as on. That is not right for production code as it increase the object code and uses up compute time. Changed --enable-trace default to depend on --enable-debug. If debug is on, trace is on. Otherwise it is off. Also added the printing of CFLAGS, CPPFLAGS, and LDFLAGS in the summary. Platforms tested: eirene, arabica (pp).
* [svn-r5869] Snapshot version 1.5 release 33HDF Admin2002-08-101-9/+9
|
* [svn-r5844] Purpose:Bill Wendling2002-08-081-0/+1
| | | | | | | | Small Coding Change Description: Zeroed out the MPI_Status structure in one of our tests to determine if MPI_Get_count() works on the machine or not. This is similar to what we do in the library code to the status...
* [svn-r5841] Snapshot version 1.5 release 32HDF Admin2002-08-031-9/+9
|
* [svn-r5810] Purpose:Bill Wendling2002-07-171-1/+1
| | | | | | | | | | | Fix Description: Better check for versions of Linux. We didn't support kernels with major version numbers >2 and minor version numbers <4... Solution: Fixed to check just that. Platforms tested: Linux 2.2 && 2.4
* [svn-r5807] Purpose:Bill Wendling2002-07-171-126/+372
| | | | | | | | | | | | | | | | | | | | | | | | | 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-r5795] Purpose:Quincey Koziol2002-07-151-1/+1
| | | | | | | | | | | New feature Description: Changed parallel I/O tests to use test script instead of just running testphdf5 executable. This allows the MPI-posix driver to be tested easily. Platforms tested: FreeBSD 4.6 (sleipnir) w/parallel and IRIX64 6.5 (modi4) w/parallel
* [svn-r5782] Purpose:Quincey Koziol2002-07-121-5/+435
| | | | | | | | | | | 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-r5774] Snapshot version 1.5 release 31HDF Admin2002-07-061-9/+9
|
* [svn-r5727] Purpose:Albert Cheng2002-06-291-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Porting to AIX 5.x Description: These have been tested out in v1.4. Folding them in here. aclocal.m4: Snow's names were not included in the special hack. Added its names in. Removed the trailing * in pacific.llnl.gov too. configure.in: fortran/configure.in: Added a case to group all AIX 5.* versions as aix5.x. This allows them to share one common config/*aix5.x file. configure: fortran/configure: Derived from configure.in (done in eirene). config/powerpc-ibm-aix4.x: Added a comment explaining why not to cache sizeof size_t and off_t fortran/config/powerpc-ibm-aix4.x: Turned of cache of sizeof size_t and off_t because they are depedent on compiler options. config/powerpc-ibm-aix5.x: fortran/config/powerpc-ibm-aix5.x: New config file for AIX 5.X Platforms tests: LLNL Blue, Frost, Snow, both serial and parallel.
* [svn-r5726] Snapshot version 1.5 release 30HDF Admin2002-06-291-9/+9
|
* [svn-r5506] Snapshot version 1.5 release 29HDF Admin2002-06-021-9/+9
|
* [svn-r5465] Snapshot version 1.5 release 28HDF Admin2002-05-281-9/+9
|
* [svn-r5275] Snapshot version 1.5 release 27HDF Admin2002-04-271-9/+9
|
* [svn-r5266] Purpose:Bill Wendling2002-04-251-9/+9
| | | | | | | | | Update Description: Updated the h5vers script to automatically update the configure.in files so that they reflect the correct version in the AC_INIT line. Platforms tested: Linux
* [svn-r5235] Purpose:Bill Wendling2002-04-231-16/+35
| | | | | | | | | | | | | | | | Update Description: Updated the way we used the AC_INIT macros so that it's current to the new standard way and not deprecated anymore. Also, added a test for some functions during parallel Fortran configure. This required the creation of an H5config_fortran.h file so that we can test for these... Platforms tested: Elena is going to test the changes to the fortran after she checks in her other code. I will test on SDSC machines after getting her code. The other changes were tested on Linux.
* [svn-r5225] Purpose:Bill Wendling2002-04-221-9/+23
| | | | | | | | | | | Feature Fix Description: Modified the AC_OUTPUT macro to coincide with the now-standard way of doing things. I.e., you put all of the files you want to generate into the AC_CONFIG_FILES macro and invode AC_OUTPUT with no parameters. Platforms tested: Linux
* [svn-r5215] Purpose:Albert Cheng2002-04-221-4/+12
| | | | | | | | | | | | | | Bug fix Description: Zlib-compression was reported according to if a Z-library (e.g., libz.a) has been found. It actually needs the presence of a valid zlib.h header file and the compress2() routine. Solution: Changed the IF_YES_NO to be more general by accepting multiple arguments and changed the Zlib-compression depends on zlib.h header and the compress2() routine. Platforms tested: Eirene.
* [svn-r5132] Purpose:Bill Wendling2002-04-021-5869/+27141
| | | | | | | | | | | | | | | | | | | Autotools Update Description: I've updated autoconf, automake, and libtool to the latest/greatest versions; 2.53, 1.6, and 1.4.2 resp. Many changes come with the new versions: - ltconfig is no longer used - acconfig.h is no longer used (#define values are declared with the macro) - regeneration of all of the aclocal.m4, configure, and H5config.h.in files. - new config.{guess,sub} files - new ltmain.sh file Platforms tested: AIX (blue), and Linux
* [svn-r5074] Purpose:Bill Wendling2002-03-201-1052/+514
| | | | | | | | | Code Motion Description: Removal of HDF4 from the configure/Makefiles. This is a precursor to the actual physical removal of the HDF4 tools from the HDF5 tree. Platforms tested: Arabica, Dangermouse
* [svn-r5047] Purpose:Bill Wendling2002-03-071-418/+297
| | | | | | | | | | | | Bug Fix Description: Didn't need to test that the Pablo library had a function in it only that it was there. Solution: Removed that check. Just checked if we can actually find the physical library and include files where the user tells us they're hiding. Platforms tested: Linux
* [svn-r5046] Purpose:Bill Wendling2002-03-071-1/+1
| | | | | | | | | | | | Bug Fix Description: Fixed wrong test for the HAVE_PABLO flag. Was testing if it was not a null string when I should have been testing if it was equal to "yes". Solution: Changed test so that it checks if it's equal to "yes" instead of non-null... Platforms tested: Linux
* [svn-r5042] Purpose:Bill Wendling2002-03-071-108/+110
| | | | | | | | | | | | | | | | | | Bug Fix Description: Some -I paths weren't included in the h5cc script. That would cause the compiler to fail if it was trying to find gass header files or the like. Solution: Added the CPPFLAGS macro to the h5cc.in file so that it'll be there when it's generated. This will also include some -D options which we compiled the library with, like the LFS flags on Linux. Also changed the configure* files so that it will "chmod" the created h5cc file to 755 (executable) since that wasn't happening all the time... Platforms tested: Linux
* [svn-r4956] Bill Wendling2002-02-131-533/+750
| | | | | | | | | | | | | | | | Purpose: Bug Fix Description: On some systems, doing the shell command: if test -z $DEBUG_PKG; then doesn't work if $DEBUG_PKG is null.. Solution: Changed to "if test "X$DEBUG_PKG" = "X"; then" which will do the same thing but without the error... Platforms tested: Linux
* [svn-r4953] Purpose:Bill Wendling2002-02-131-563/+558
| | | | | | | | | | | | | | | | | | | | | | | Bug Fix Description: When printing out the summary information after the configuration, the Compilation Mode and Debugging information would be incorrect. The library is set to compile to "Production" mode for a release. Yet, the default compilation mode before that was "Development". If the user doesn't specify "--enable-production" on the command line, the configure defaults to "Production" mode, but the summary still reported "Development" mode. Solution: Modified script so that after we've determined which compilation mode we're in, we reset the "enable_production" variable to the correct setting. So, we no longer have a "default". The summary part then reads the new value and uses that to determine which mode we're in. The debugging summary information was reworked so that it would output the correct summary information. Slight hacking of the summary script to check the values a bit more closely... Platforms tested: Linux (eirene)
* [svn-r4840] Purpose:Quincey Koziol2002-01-161-532/+591
| | | | | | | | | | New feature check Description: Added check to determine if malloc(0) returns a valid pointer for a particular architecture. Platforms tested: FreeBSD 4.5 (sleipnir) where malloc(0) works Cray SV1 (killeen) where malloc(0) doesn't work
* [svn-r4765] Purpose:Albert Cheng2002-01-021-131/+136
| | | | | | | | | | | | | | | | Bug fix. Description: FreeBSD would fail the threadsafe feature if static-exec is not on. Solution: Force enable-static-exec on if enable-threadsafe is on. Also moved the chunk of FreeBSD specific code for Pthread setup from configure.in to config/freebsd. Also changed enable-threadsafe to check on linking pthread program. That takes care of platforms (e.g. freebsd) that has pthread support builtin the default C library. Now one can just use "enable-threadsafe" if the compiler has pthread support by default. Platforms tested: eirene, Sleipnir
* [svn-r4757] Purpose:Albert Cheng2001-12-301-986/+525
| | | | | | | | | | | | | | | | | | 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-r4729] Bill Wendling2001-12-171-556/+571
| | | | | | | | | | | | | | Purpose: Feature Fix Description: The new feature (allowing the user to specify =DIR for a --with-xxx option instead of requiring =INC,LIB for them) needed a better explanation. Solution: Created a phoney --with-fnord option whose only purpose is to supply a --help message. Platforms tested: Linux
* [svn-r4727] Bill Wendling2001-12-171-606/+644
| | | | | | | | | | | | Purpose: Feature Add Description: Added the feature which will accept a directory for all of the features which now accept an =INC,LIB directive. The old way of doing things (=INC,LIB) is still valid, but we prefer the user uses the =DIR method from now on. It saves typing. Platforms tested: Linux
* [svn-r4550] Purpose:Albert Cheng2001-10-161-395/+496
| | | | | | | | | | | | | | Bug fix Description: GASS nor gridstorage worked any more because SSL library testing was moved after them. Solution: Moved SSL library to be tested before GASS or Gridstorage options are tested. Also make the testing of SSL libraries default to no testing, so that it won't get activated unnecessarily. Platforms tested: IRIX64 -64, serial and parallel. (GASS driver needs globus software which is available in modi4 only.)
* [svn-r4502] Purpose:Albert Cheng2001-10-011-22/+21
| | | | | | | | | | | | | | | | | | | | | | 'Bug fix' Description: When testing the validity of zlib, the compress() function is used. HDF5 actually requires a newer version of zlib which contains compress2(). Compress2 is tested in later part of the configure. This caused redundent tests and confusion too. Solution: Changed zlib test to look for compress2() instead. Older version of HDF4 libraries (e.g. 4.1r2) would fail this test correctly. This eliminated the possibility of using an older version of HDF4 without using zlib compression in HDF5. But since we need newer version of hdp (with loops detection), the older version hdf4 is not old any more. Remark: the compress2 test is not removed. After this change proven working correctly for all platforms, the extra compress2 test can be removed and source code must be updated too. Platforms tested: modi4: tested with hdf4.1r2 and failed as expected. Tested with newer hdf4 libraries and succeeded as expected.