Commit Graph

183 Commits

Author SHA1 Message Date
Quincey Koziol
ba087ce2b5 Clean up private / package / static namespace issues (function naming, which
header file, FUNC_ENTER / LEAVE, etc).  Removed remaining personal email
addresses from library source code (still needs cleaned from other directories).
Misc. warning, style, and whitespace cleanup.
2020-08-22 14:00:44 -05:00
Dana Robinson
1ae6daaa80 Sync with develop 2020-08-01 09:18:18 -07:00
Allen Byrne
5ba81f88a3 Whitespace cleanup 2020-05-13 08:18:11 -05:00
Richard Warren
4284401fde Initial 2GB port from develop to the 1_12 branch 2019-10-15 09:31:24 -04:00
Dana Robinson
937616872c Minor tweaks to new H5P MPI code based on code review feedback. 2019-08-27 14:00:49 -07:00
Dana Robinson
3bcbce5538 Added H5Pset/get_mpi_params calls and unified them with the MPI-I/O
VFD info in H5FDmpio.c.
2019-08-26 10:26:31 -07:00
Dana Robinson
bd8da502cf Some refactoring prior to implementing new H5P MPI functions.
* Macro cleanup and obvious warning fixes in parallel code.
* Moved H5FD comm and info dup/free wrapper code to a new H5mpi.c file
  and separated it to deal with each MPI type separately.
2019-08-14 16:22:06 -07:00
Dana Robinson
a98747c0f9 Added an H5MM_memcpy call that checks for buffer overlap. 2019-03-16 08:06:52 -07:00
Quincey Koziol
fed17ed383 HDFFV-10625 -- Implemented a process-0 read and then broadcast for collective read of full (HS_ALL), contiguous, atomic datasets by all the processes in the file communicator. 2019-01-07 16:55:59 -06:00
Quincey Koziol
8a5d2c130a Clean up style issues, make function callbacks static, correct debug statements,
etc.  No functionality changes at all.
2019-01-05 17:13:40 -06:00
Dana Robinson
07b76068a4 Merge branch 'develop' into vfd_init_cleanup 2018-12-31 17:19:39 -08:00
Quincey Koziol
b61ad0f7b6 Clear driver properties before returning them to application.
Move write_tracking and page_size properties to be inside the core VFD's
driver properties.
2018-12-18 22:30:12 -06:00
Dana Robinson
ddf2cbad1b Cleaned up and normalized VFD init calls. 2018-12-17 23:00:25 -08:00
Binh-Minh Ribler
ec31438afd Fixed HDFFV-10404
Description:
    Applied the typo fixes from user's report.
    The previous pull request couldn't be merged because it was too old,
    and it was too complicated for me to resolve conflicts.
Platform tested:
    Linux/64 (jelly) - very minor
2018-07-13 13:40:22 -05:00
Quincey Koziol
c975f49984 Add an assert to verify that we don't write when between MPI_Barrier() calls
during a flush.
2018-03-27 14:20:50 -05:00
Quincey Koziol
f38864920d Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into merge_func_enter_vol
Plus initial steps toward merging API context push into FUNC_ENTER_API* macros
2018-03-18 18:36:49 -05:00
Quincey Koziol
4a17aff408 Add API context interface and use it throughout the library. 2018-03-15 16:54:30 -05:00
mainzer
4823abf3ee Removed commented out code from H5FDmpio.c, H5FDprivate.h and H5Fint.c
Tested parallel (debug and production) and serial (production)
2018-03-11 22:32:09 -05:00
M. Scot Breitenfeld
8aa5205844 Optimized version of avoid truncate patch. 2017-12-18 13:42:09 -06:00
Dana Robinson
14c286d51a Fixed HDFFV-10214:
* Updated comments in the library to accurately reflect the semantics
  of the H5FD_FEAT_POSIX_COMPAT_HANDLE flag.
* Removed the check for the POSIX compatible handle feature flag
  when determining if a VFD supports SWMR.
Partial work for HDFFV-10197:
* Added a new H5FD_FEAT_DEFAULT_VFD_COMPATIBLE feature flag that is
  set when a VFD creates output that is compatible with the default
  VFD. Will be used in the testing but might also be generally useful
  to users.
2017-05-19 14:58:34 -07:00
Larry Knox
89fbe00dec Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '54957d37f5aa73912763dbb6e308555e863c43f4':
  Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes.
  Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh.
  Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1
  Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
2017-04-25 16:05:36 -05:00
mainzer
94c34773ce Checkin of fix for CGNS bug
(https://jira.hdfgroup.org/browse/HDFFV-10055).

    Briefly, in H5C_collective_write() in H5Cmpio.c,
the metadata cache attempts to perform a collective
write of metadata cache entries.

    This worked fine as long as all processes had at
least one entry to write.

    However, when the process has no entries, the
function tries to participate in the collective write
by calling MPI_File_set_view(),
MPI_File_write_all() and then MPI_File_set_view()
again, to match the calls in H5FD_mpio_write().

   After pull request 183, the CGNS test benchmark_hdf5
started failing.  On investigation, I determined that
the failure occurred in the first call to MPI_File_set_view()
in the "no data to write" path through H5C_collective_write().
Note that pull request 183 did not create the problem,
it only exposed it.  The bug can be observed after pull
request 182 if one executes the CGNS progam
src/ptests/benchmark_hdf5 with 90 processes.

    The problem appears to have been that the calls to
MPI_File_set_view() in H5C_collective_write() and
H5FD_mpio_write() were using different values for the
info parameter.  I patched the problem by adding a
MPI specific VFD call allowing me to get the MPI_Info
used in H5FD_mpio_write() for use in
MPI_File_set_view() calls in H5C_collective_write().

    Tested serial & parallel, debug & production on
Jelly.
2017-04-06 18:11:21 -05:00
Quincey Koziol
d935aa3555 Warning and whitespace cleanup. 2016-11-03 09:32:30 -07:00
Mohamad Chaarawi
c3f08947c1 [svn-r28959] merge from trunk.
renaming metadata dxpl properties.
2016-01-22 11:56:09 -05:00
Mohamad Chaarawi
91aeb766fa [svn-r28950] - remove META_FLUSH_COLLECTIVELY property for delayed sanity checks from metadata dxpls
- remove H5AC_ind_dxpl_id and use only H5AC_dxpl_id everywhere instead.
- remove flush_me_collectively flag from cache entries
- add a collective sanity check (MPI_Barrier) for every HDF5 API routine that could possibly touch the file. This is trigerred when the environment variable H5_COLL_API_SANITY_CHECK is set to a non 0 digit.

tested on BB-8 with serial and parallel.
2016-01-21 17:31:15 -05:00
Quincey Koziol
bd44db8a3c [svn-r28894] Description:
Normalize against changes on phdf5_metadata_opt branch to trunk

Tested on:
    MacoSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-01-13 23:29:58 -05:00
Mohamad Chaarawi
8d131aca15 [svn-r27929] merge from trunk. 2015-10-01 11:12:02 -05:00
Quincey Koziol
ee7612be44 [svn-r27811] Description:
Refactor property list code to "deep copy" properties in the correct way,
retraining the rest of the library to copy & release things correctly.  This
cleans up another batch of memory leaks, etc. within the library.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    Linux/32 2.6.x (jam) w/serial & parallel
    (h5committest forthcoming)
2015-09-16 17:27:49 -05:00
Dana Robinson
78848c63b7 [svn-r27809] Minor warning fixes in the library.
Tested on: jam (too minor for h5committest)
2015-09-16 16:52:54 -05:00
Quincey Koziol
1023374492 [svn-r27768] Description:
Complete revamp of package initialization/shutdown mechanism in the library.
Each package now has a single init/term routine.

    This new way should avoid packages being re-initialized during library
shutdown and is also be _much_ more proactive about giving feedback for
resource leaks internal to the library.

    Introduces a new "module" header file for packages in the library
(e.g src/H5Fmodule.h) which sets up some necessary package configuration macros
for the FUNC_ENTER/LEAVE macros.  (The VFL drivers have their own slightly
modified version of this header, src/H5FDdrvr_module.h)

    Also cleaned up a bunch of resources leaks all across the library and tests,
along with addressing many warnings, as I encountered them.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    Linux/64 3.10.x (kituo) w/serial & parallel
    Linux/64 2.6.x (ostrich) w/serial
2015-09-13 22:58:59 -05:00
Mohamad Chaarawi
cf07aa6803 [svn-r27261] apply metadata enhancement patch that was based on the mdc 3 branch. 2015-06-21 16:45:01 -05:00
Mohamad Chaarawi
fc45d5fcb0 [svn-r27133] - Add a new attribute function characterstic for format:
* H5_ATTR_FORMAT(X,Y,Z)  __attribute__((format(X, Y, Z)))
- Rename UNUSED attribute characterstic to H5_ATTR_UNUSED.
- Rename NORETURN attribute characterstic to H5_ATTR_NORETURN

tested with h5committest.
2015-06-01 14:38:09 -05:00
Mohamad Chaarawi
01093ad350 [svn-r26649] squish warnings. 2015-03-30 10:12:49 -05:00
Mohamad Chaarawi
a24e3e5c86 [svn-r25994] revert adding the has_mpi_atomicity feature flag and use the has_mpi
flag instead.
2015-01-21 13:57:55 -05:00
Mohamad Chaarawi
1949c40bfd [svn-r25983] HDFFV-1125: Eliminate IS_H5FD_MPI() macro use in the library and replace with driver feature flag(s).
Add an MPI atomicity feature flag and remove the macro from the library.

tested Parallel on Jam.
2015-01-20 10:26:45 -05:00
Quincey Koziol
b65eae7aee [svn-r25929] Description:
Clean up EOF code within library and add 'mem_type' parameter to 'get_eof'
VFD callback, to avoid various ambiguous situations, particularly with the
multi VFD.  (Supports changes for 'avoid_truncate' feature also)

Tested on:
    MacOSX/64 10.10.1 (amazon) w/serial & parallel
    h5committest forthcoming
2014-12-29 01:02:06 -05:00
Mohamad Chaarawi
d4e70e8cae [svn-r25922] mpi version check for new mpi 3 features should be >= 3 rather than == 3. 2014-12-23 10:02:40 -05:00
Mohamad Chaarawi
cbd0460b1b [svn-r25921] - wrap MPI 3 usage with MPI_VERSION compile time check.
- build out unbuffered stdout/err for windows
2014-12-23 09:54:47 -05:00
Mohamad Chaarawi
1064f6cd03 [svn-r25586] need to use MPI_Count and corresponding _x check routines post read/write to handle big counts. 2014-09-11 10:59:04 -05:00
Mohamad Chaarawi
88fb6b1374 [svn-r25531] remove use of C99 PRI that failed on windows in dtypes.c
fix bugs where hid_t were assumed to be 32 bit ints or herr_t.
2014-08-11 14:13:45 -05:00
Mohamad Chaarawi
06ef71a37f [svn-r25397] - remove configure checks for MPI_File_get_size and Big
MPI_File_set_size as they are supported by most MPI implementations.
- fix bug in t_mpi.c (HDFFV-8856)
2014-07-07 13:22:48 -05:00
Quincey Koziol
2e4302818a [svn-r24864] Description:
Remove all traces of MPI-POSIX VFD and GPFS detection/code.

    Remove remaining traces of stream VFD.

    Remove testpar/t_posix_compliant test (it's not actually verifying anything).

    Clean up H5D__mpio_opt_possible() further.

    Moved environment variable that disables MPI collective operations into
MPI-IO VFD (instead of it being in src/H5S.c).

    A few other small code cleanups.

Tested on:
    Mac OSX/64 10.9.2 (amazon) w/parallel & serial
2014-03-21 18:02:24 -05:00
Quincey Koziol
424a41f878 [svn-r23713] Description:
Clean up warnings, switch library code to use Standard C/POSIX wrapper
macros, remove internal calls to API routines, update checkapi and checkposix
scripts.

Tested on:
    Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN
    Big-Endian Linux/64 (ostrich)
2013-05-21 12:30:54 -05:00
Mohamad Chaarawi
cb6d2f2a45 [svn-r23165] HDFF-8203 Break H5FDmpi.h header into public and private components
https://jira.hdfgroup.uiuc.edu/browse/HDFFV-8203

tested: h5committest
2013-01-15 10:32:23 -05:00
Quincey Koziol
b9d042d2d2 [svn-r22998] Description:
Clean up warnings and bring changes from Coverity branch back to trunk:

r20451:
Fixed coverity 810

r20454:
Purpose: Fix coverity issue 816

Description: Modified various file drivers to always check the return value from
H5P_get_driver_info.

r20455:
Purpose: Cleanup fix for coverity issue 816

Description: Removed redundant check for "fa" in H5FD_core_open.


Tested on:
    Mac OSX/64 10.8.2 (amazon) w/debug
    (Too minor to require h5committest)
2012-11-01 11:01:37 -05:00
Quincey Koziol
d27ec1d3bd [svn-r22681] Description:
Clean up file driver property handling, along with some misc. warnings.

Tested on:
    Mac OSX/64 10.7.4 (amazon) w/debug, gcc 4.7.1, C++, FORTRAN & threadsafe
    (h5committest upcoming)
2012-08-15 09:14:13 -05:00
Vailin Choi
a9602d1b34 [svn-r22676] Changes needed to make the default free-list mapping from H5FD_FLMAP_SINGLE to H5FD_FLMAP_DICHOTOMY. 2012-08-13 15:04:20 -05:00
Mohamad Chaarawi
dd1b2c3208 [svn-r22115] Add 2 new API routines to set/unset file atomicity for files opened with the MPI-IO VFD
Add test cases for these two routines
Jira issue HDFFV-7961
2012-03-21 16:00:48 -05:00
Quincey Koziol
9c9ee2008c [svn-r21919] Description:
Refactor function name macros and simplify the FUNC_ENTER macros, to clear
away the cruft and prepare for further cleanups.

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
2012-02-08 22:13:27 -05:00
Allen Byrne
f589bb679f [svn-r21352] Missed stat structure change to use h5_stat_t. Should have been part of HDFFV-7687 review and commit. File already used HD prefix on stat function. 2011-09-01 12:23:34 -05:00