summaryrefslogtreecommitdiffstats
path: root/develop/group___p_h5_f.html
diff options
context:
space:
mode:
authorbyrnHDF <byrnHDF@users.noreply.github.com>2023-11-16 13:49:28 (GMT)
committerbyrnHDF <byrnHDF@users.noreply.github.com>2023-11-16 13:49:28 (GMT)
commit4f20d880c97be1249f8d89ced95f72836dbf3ee0 (patch)
tree30d8dcb282134b7126b092796f2be00d2d97bd3c /develop/group___p_h5_f.html
parent4e7e457497c948b41c8b0065225875bf10cdf9d4 (diff)
downloadhdf5-4f20d880c97be1249f8d89ced95f72836dbf3ee0.zip
hdf5-4f20d880c97be1249f8d89ced95f72836dbf3ee0.tar.gz
hdf5-4f20d880c97be1249f8d89ced95f72836dbf3ee0.tar.bz2
deploy: ef39882fa1e13740d2530c7a0637bd1f1a822b68
Diffstat (limited to 'develop/group___p_h5_f.html')
-rw-r--r--develop/group___p_h5_f.html245
1 files changed, 245 insertions, 0 deletions
diff --git a/develop/group___p_h5_f.html b/develop/group___p_h5_f.html
new file mode 100644
index 0000000..55e8681
--- /dev/null
+++ b/develop/group___p_h5_f.html
@@ -0,0 +1,245 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>HDF5: Parallel</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+ $(document).ready(function() { init_search(); });
+/* @license-end */
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="hdf5doxy.css" rel="stylesheet" type="text/css">
+<!-- <link href="hdf5doxy.css" rel="stylesheet" type="text/css"/>
+ -->
+<script type="text/javascript" src="hdf5_navtree_hacks.js"></script>
+</head>
+<body>
+<div style="background:#FFDDDD;font-size:120%;text-align:center;margin:0;padding:5px">Please, help us to better serve our user community by answering the following short survey: <a href="https://www.hdfgroup.org/website-survey/">https://www.hdfgroup.org/website-survey/</a></div>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="HDFG-logo.png"/></td>
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname"><a href="https://www.hdfgroup.org">HDF5</a>
+ &#160;<span id="projectnumber">1.15.0.ef39882</span>
+ </div>
+ <div id="projectbrief">API Reference</div>
+ </td>
+ <td> <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.svg"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
+ </span>
+ </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('group___p_h5_f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Parallel<div class="ingroups"><a class="el" href="group___h5_f.html">Files (H5F)</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
+ <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Collaboration diagram for Parallel:</div>
+<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
+</div>
+<div id="dynsection-0-content" class="dyncontent" style="display:none;">
+<div class="center"><img src="group___p_h5_f.png" border="0" usemap="#agroup______p__h5__f" alt=""/></div>
+<map name="agroup______p__h5__f" id="agroup______p__h5__f">
+<area shape="rect" href="group___h5_f.html" title=" " alt="" coords="5,5,97,31"/>
+<area shape="rect" title=" " alt="" coords="145,5,216,31"/>
+</map>
+</div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga087dbbf37cb5c451ae8a6f66b227f0fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_h5_f.html#ga087dbbf37cb5c451ae8a6f66b227f0fc">H5Fset_mpi_atomicity</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> file_id, <a class="el" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a> flag)</td></tr>
+<tr class="memdesc:ga087dbbf37cb5c451ae8a6f66b227f0fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the MPI atomicity mode. <a href="group___p_h5_f.html#ga087dbbf37cb5c451ae8a6f66b227f0fc">More...</a><br /></td></tr>
+<tr class="separator:ga087dbbf37cb5c451ae8a6f66b227f0fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga849316b77788799fecb321a87d987ade"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_h5_f.html#ga849316b77788799fecb321a87d987ade">H5Fget_mpi_atomicity</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> file_id, <a class="el" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a> *flag)</td></tr>
+<tr class="memdesc:ga849316b77788799fecb321a87d987ade"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the atomicity mode in use. <a href="group___p_h5_f.html#ga849316b77788799fecb321a87d987ade">More...</a><br /></td></tr>
+<tr class="separator:ga849316b77788799fecb321a87d987ade"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ga849316b77788799fecb321a87d987ade"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga849316b77788799fecb321a87d987ade">&#9670;&nbsp;</a></span>H5Fget_mpi_atomicity()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Fget_mpi_atomicity </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a>&#160;</td>
+ <td class="paramname"><em>file_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a> *&#160;</td>
+ <td class="paramname"><em>flag</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Retrieves the atomicity mode in use. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">file_id</td><td>File identifier </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">flag</td><td>Logical flag for atomicity setting. Valid values are: <ul>
+<li>1 &ndash; MPI file access is set to atomic mode. </li>
+<li>0 &ndash; MPI file access is set to nonatomic mode. </li>
+</ul>
+</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a non-negative value if successful; otherwise, returns a negative value.</dd></dl>
+<p><a class="el" href="group___p_h5_f.html#ga849316b77788799fecb321a87d987ade" title="Retrieves the atomicity mode in use.">H5Fget_mpi_atomicity()</a> retrieves the current consistency semantics mode for data access for the file <code>file_id</code>.</p>
+<p>Upon successful return, <code>flag</code> will be set to <code>1</code> if file access is set to atomic mode and <code>0</code> if file access is set to nonatomic mode.</p>
+<dl class="section see"><dt>See also</dt><dd><a href="https://portal.hdfgroup.org/display/HDF5/Enabling+a+Strict+Consistency+Semantics+Model+in+Parallel+HDF5">Enabling a Strict Consistency Semantics Model in Parallel HDF5</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>1.8.9 </dd></dl>
+
+</div>
+</div>
+<a id="ga087dbbf37cb5c451ae8a6f66b227f0fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga087dbbf37cb5c451ae8a6f66b227f0fc">&#9670;&nbsp;</a></span>H5Fset_mpi_atomicity()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Fset_mpi_atomicity </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a>&#160;</td>
+ <td class="paramname"><em>file_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a>&#160;</td>
+ <td class="paramname"><em>flag</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Sets the MPI atomicity mode. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">file_id</td><td>File identifier </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flag</td><td>Logical flag for atomicity setting. Valid values are: <ul>
+<li><code>1</code> &ndash; Sets MPI file access to atomic mode. </li>
+<li><code>0</code> &ndash; Sets MPI file access to nonatomic mode. </li>
+</ul>
+</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a non-negative value if successful; otherwise, returns a negative value.</dd></dl>
+<dl class="section user"><dt>Motivation</dt><dd><a class="el" href="group___p_h5_f.html#ga087dbbf37cb5c451ae8a6f66b227f0fc" title="Sets the MPI atomicity mode.">H5Fset_mpi_atomicity()</a> is applicable only in parallel environments using MPI I/O. The function is one of the tools used to ensure sequential consistency. This means that a set of operations will behave as though they were performed in a serial order consistent with the program order.</dd></dl>
+<p><a class="el" href="group___p_h5_f.html#ga087dbbf37cb5c451ae8a6f66b227f0fc" title="Sets the MPI atomicity mode.">H5Fset_mpi_atomicity()</a> sets MPI consistency semantics for data access to the file, <code>file_id</code>.</p>
+<p>If <code>flag</code> is set to <code>1</code>, all file access operations will appear atomic, guaranteeing sequential consistency. If <code>flag</code> is set to <code>0</code>, enforcement of atomic file access will be turned off.</p>
+<p><a class="el" href="group___p_h5_f.html#ga087dbbf37cb5c451ae8a6f66b227f0fc" title="Sets the MPI atomicity mode.">H5Fset_mpi_atomicity()</a> is a collective function and all participating processes must pass the same values for <code>file_id</code> and <code>flag</code>.</p>
+<p>This function is available only when the HDF5 library is configured with parallel support (<code>&ndash;enable-parallel | HDF5_ENABLE_PARALLEL</code>). It is useful only when used with the <a class="el" href="_h5_f_dmpio_8h.html#a7a231bc1d78744088a4e1d297284cabf">H5FD_MPIO</a> driver (see <a class="el" href="group___f_a_p_l.html#gaa0204810c1fea1667d62cf7c176416ff" title="Stores MPI IO communicator information to the file access property list.">H5Pset_fapl_mpio()</a>). </p>
+<dl class="section attention"><dt>Attention</dt><dd><p class="startdd"><a class="el" href="group___p_h5_f.html#ga087dbbf37cb5c451ae8a6f66b227f0fc" title="Sets the MPI atomicity mode.">H5Fset_mpi_atomicity()</a> calls <code>MPI_File_set_atomicity</code> underneath and is not supported if the execution platform does not support <code>MPI_File_set_atomicity</code>. When it is supported and used, the performance of data access operations may drop significantly.</p>
+<p class="enddd">In certain scenarios, even when <code>MPI_File_set_atomicity</code> is supported, setting atomicity with <a class="el" href="group___p_h5_f.html#ga087dbbf37cb5c451ae8a6f66b227f0fc" title="Sets the MPI atomicity mode.">H5Fset_mpi_atomicity()</a> and <code>flag</code> set to 1 does not always yield strictly atomic updates. For example, some <a class="el" href="group___h5_d.html#ga98f44998b67587662af8b0d8a0a75906" title="Writes raw data from a buffer to a dataset.">H5Dwrite()</a> calls translate to multiple <code>MPI_File_write_at</code> calls. This happens in all cases where the high-level file access routine translates to multiple lower level file access routines. The following scenarios will raise this issue: </p><ul>
+<li>Non-contiguous file access using independent I/O </li>
+<li>Partial collective I/O using chunked access </li>
+<li>Collective I/O using filters or when data conversion is required</li>
+</ul>
+<p>This issue arises because MPI atomicity is a matter of MPI file access operations rather than HDF5 access operations. But the user is normally seeking atomicity at the HDF5 level. To accomplish this, the application must set a barrier after a write, <a class="el" href="group___h5_d.html#ga98f44998b67587662af8b0d8a0a75906" title="Writes raw data from a buffer to a dataset.">H5Dwrite()</a>, but before the next read, <a class="el" href="group___h5_d.html#ga8287d5a7be7b8e55ffeff68f7d26811c" title="Reads raw data from a dataset into a provided buffer.">H5Dread()</a>, in addition to calling <a class="el" href="group___p_h5_f.html#ga087dbbf37cb5c451ae8a6f66b227f0fc" title="Sets the MPI atomicity mode.">H5Fset_mpi_atomicity()</a>.The barrier will guarantee that all underlying write operations execute atomically before the read operations starts. This ensures additional ordering semantics and will normally produce the desired behavior. </p>
+</dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a href="https://portal.hdfgroup.org/display/HDF5/Enabling+a+Strict+Consistency+Semantics+Model+in+Parallel+HDF5">Enabling a Strict Consistency Semantics Model in Parallel HDF5</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>1.8.9 </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.9.1 </li>
+ </ul>
+</div>
+</body>
+</html>