You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@singa.apache.org by wa...@apache.org on 2015/05/07 15:07:45 UTC

[21/57] [partial] incubator-singa git commit: create github pages

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Param-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Param-members.html b/api/classsinga_1_1Param-members.html
new file mode 100644
index 0000000..6ea2b17
--- /dev/null
+++ b/api/classsinga_1_1Param-members.html
@@ -0,0 +1,149 @@
+<!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.8.6"/>
+<title>Apache SINGA: Member List</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="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<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="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               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.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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 id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Param.html">Param</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Param Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Param.html">singa::Param</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Param.html#af7f5be140141a7ff4b37a48a4d20126e">data</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Param.html#acaba6e96c8afd3ff3f42eff99c8e2aaa">data_</a></td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fan_in_</b> (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GenGetMsg</b>(void *arg=nullptr) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GenPutMsg</b>(void *arg=nullptr) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GenSyncMsg</b>(void *arg=nullptr) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GenUpdateMsg</b>(void *arg=nullptr) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GenUpdateResponseMsg</b>(void *arg=nullptr) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Param.html#a2d81273a74b1dc2c599989fe0c96135f">grad</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>grad_</b> (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HandleGetMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>HandlePutMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HandleSyncMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>history</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>history_</b> (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>id</b>() const  (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Init</b>(int v=0) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>learning_rate_multiplier</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_cpu_data</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_cpu_grad</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_cpu_history</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_grad</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_history</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>name</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Param.html#a8d2fc34b825f6013b996f857422b684f">name_</a></td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Param.html#ac4176dbd3e73aa42dc5da79456a8dfc4">owner</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>owner_</b> (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Param</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParseGetResponseMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ParsePutResponseMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParseSyncResponseMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ParseUpdateMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParseUpdateResponseMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>proto_</b> (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_id</b>(int id) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_version</b>(int v) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Param.html#a84d7514cc5849f26018bfceef9a12364">Setup</a>(const ParamProto &amp;proto, const std::vector&lt; int &gt; &amp;shape, int fan_in)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ShareData</b>(shared_ptr&lt; Param &gt; other) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Param.html#a34f6d78c5fe6450f09c32620d923151e">size</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>version</b>() const  (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>weight_decay_multiplier</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Param</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Param.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Param.html b/api/classsinga_1_1Param.html
new file mode 100644
index 0000000..d96f2b0
--- /dev/null
+++ b/api/classsinga_1_1Param.html
@@ -0,0 +1,295 @@
+<!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.8.6"/>
+<title>Apache SINGA: singa::Param Class Reference</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="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<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="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               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.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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 id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Param.html">Param</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classsinga_1_1Param-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Param Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a34727f895aab227d37247522448919a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34727f895aab227d37247522448919a4"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GenGetMsg</b> (void *arg=nullptr)</td></tr>
+<tr class="separator:a34727f895aab227d37247522448919a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a96f09f790d187bb6dcc55c2ef9706495"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96f09f790d187bb6dcc55c2ef9706495"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GenPutMsg</b> (void *arg=nullptr)</td></tr>
+<tr class="separator:a96f09f790d187bb6dcc55c2ef9706495"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62278fa4361f37ace1c0d62b91b894d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62278fa4361f37ace1c0d62b91b894d1"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GenUpdateMsg</b> (void *arg=nullptr)</td></tr>
+<tr class="separator:a62278fa4361f37ace1c0d62b91b894d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92b795680859f651b15822e5f276409f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92b795680859f651b15822e5f276409f"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GenSyncMsg</b> (void *arg=nullptr)</td></tr>
+<tr class="separator:a92b795680859f651b15822e5f276409f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cca1371b0f348d57a70aa07433a86b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9cca1371b0f348d57a70aa07433a86b0"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>HandleGetMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:a9cca1371b0f348d57a70aa07433a86b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a752a55ec943d502255e63bfdc3e0be81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a752a55ec943d502255e63bfdc3e0be81"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>HandlePutMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:a752a55ec943d502255e63bfdc3e0be81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af90ef28a75787dbbaf7ec54380e078a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af90ef28a75787dbbaf7ec54380e078a8"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>ParseUpdateMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:af90ef28a75787dbbaf7ec54380e078a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa842c4019f3f8b75cbb0ccf681eda9d8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa842c4019f3f8b75cbb0ccf681eda9d8"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GenUpdateResponseMsg</b> (void *arg=nullptr)</td></tr>
+<tr class="separator:aa842c4019f3f8b75cbb0ccf681eda9d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a703a285133dfa74b36747c91fb60dd54"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a703a285133dfa74b36747c91fb60dd54"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>HandleSyncMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:a703a285133dfa74b36747c91fb60dd54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2e90726852c16618938c7b206091a1a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2e90726852c16618938c7b206091a1a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>ParseGetResponseMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:ad2e90726852c16618938c7b206091a1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6b7446b5ba2d9dc6c40e4bb7a6f05c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6b7446b5ba2d9dc6c40e4bb7a6f05c0"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>ParsePutResponseMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:ac6b7446b5ba2d9dc6c40e4bb7a6f05c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae62f36d76f4315889f4bf3b6bb8f392d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae62f36d76f4315889f4bf3b6bb8f392d"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>ParseUpdateResponseMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:ae62f36d76f4315889f4bf3b6bb8f392d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74430d08d52f496d97a5c0a9805a4c9e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74430d08d52f496d97a5c0a9805a4c9e"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>ParseSyncResponseMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:a74430d08d52f496d97a5c0a9805a4c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84d7514cc5849f26018bfceef9a12364"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84d7514cc5849f26018bfceef9a12364"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#a84d7514cc5849f26018bfceef9a12364">Setup</a> (const ParamProto &amp;proto, const std::vector&lt; int &gt; &amp;shape, int fan_in)</td></tr>
+<tr class="memdesc:a84d7514cc5849f26018bfceef9a12364"><td class="mdescLeft">&#160;</td><td class="mdescRight">setup param shape <br/></td></tr>
+<tr class="separator:a84d7514cc5849f26018bfceef9a12364"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addf9cdcc5c85dc140c3330d2cf72e9e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addf9cdcc5c85dc140c3330d2cf72e9e0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Init</b> (int v=0)</td></tr>
+<tr class="separator:addf9cdcc5c85dc140c3330d2cf72e9e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ae2ca18c6d78f38bd0af86962049b2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae2ca18c6d78f38bd0af86962049b2d"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>ShareData</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; other)</td></tr>
+<tr class="separator:a3ae2ca18c6d78f38bd0af86962049b2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4575ed15673e26838b1e017f13364b27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4575ed15673e26838b1e017f13364b27"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>learning_rate_multiplier</b> ()</td></tr>
+<tr class="separator:a4575ed15673e26838b1e017f13364b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c6d9ce02b7292d9176106dd1b59afa9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c6d9ce02b7292d9176106dd1b59afa9"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>weight_decay_multiplier</b> ()</td></tr>
+<tr class="separator:a2c6d9ce02b7292d9176106dd1b59afa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4176dbd3e73aa42dc5da79456a8dfc4"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#ac4176dbd3e73aa42dc5da79456a8dfc4">owner</a> () const </td></tr>
+<tr class="memdesc:ac4176dbd3e73aa42dc5da79456a8dfc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">if the <a class="el" href="classsinga_1_1Param.html">Param</a> shares data with others, then point to the owner.  <a href="#ac4176dbd3e73aa42dc5da79456a8dfc4">More...</a><br/></td></tr>
+<tr class="separator:ac4176dbd3e73aa42dc5da79456a8dfc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb1c45b881b79cfde6df621bc1b515b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb1c45b881b79cfde6df621bc1b515b0"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>name</b> ()</td></tr>
+<tr class="separator:acb1c45b881b79cfde6df621bc1b515b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac10e8a07a045febace28d719c8ec3aaa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac10e8a07a045febace28d719c8ec3aaa"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>id</b> () const </td></tr>
+<tr class="separator:ac10e8a07a045febace28d719c8ec3aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd595fd314432b276f3ed6db4239bb4b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd595fd314432b276f3ed6db4239bb4b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_id</b> (int id)</td></tr>
+<tr class="separator:abd595fd314432b276f3ed6db4239bb4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7dfe672a20b10e544007ed2a5502822"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7dfe672a20b10e544007ed2a5502822"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>version</b> () const </td></tr>
+<tr class="separator:ac7dfe672a20b10e544007ed2a5502822"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ed3aec7414d40a9bb6aa97a8a025871"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ed3aec7414d40a9bb6aa97a8a025871"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_version</b> (int v)</td></tr>
+<tr class="separator:a5ed3aec7414d40a9bb6aa97a8a025871"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34f6d78c5fe6450f09c32620d923151e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#a34f6d78c5fe6450f09c32620d923151e">size</a> () const </td></tr>
+<tr class="separator:a34f6d78c5fe6450f09c32620d923151e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af7f5be140141a7ff4b37a48a4d20126e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7f5be140141a7ff4b37a48a4d20126e"></a>
+const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#af7f5be140141a7ff4b37a48a4d20126e">data</a> ()</td></tr>
+<tr class="memdesc:af7f5be140141a7ff4b37a48a4d20126e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return const mem address for the content of this parameter. <br/></td></tr>
+<tr class="separator:af7f5be140141a7ff4b37a48a4d20126e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9117daf63219b0321e90f0f9fe3824eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9117daf63219b0321e90f0f9fe3824eb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> ()</td></tr>
+<tr class="separator:a9117daf63219b0321e90f0f9fe3824eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d81273a74b1dc2c599989fe0c96135f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d81273a74b1dc2c599989fe0c96135f"></a>
+const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#a2d81273a74b1dc2c599989fe0c96135f">grad</a> ()</td></tr>
+<tr class="memdesc:a2d81273a74b1dc2c599989fe0c96135f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return gradient of this parameter. <br/></td></tr>
+<tr class="separator:a2d81273a74b1dc2c599989fe0c96135f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab41661f645daafd2b56e0dd71702fbf3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab41661f645daafd2b56e0dd71702fbf3"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_grad</b> ()</td></tr>
+<tr class="separator:ab41661f645daafd2b56e0dd71702fbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a754a24ff193c82b9c66e53d71e18a03d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a754a24ff193c82b9c66e53d71e18a03d"></a>
+const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>history</b> ()</td></tr>
+<tr class="separator:a754a24ff193c82b9c66e53d71e18a03d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8100fc3a5332c10b595c73e66b9c710c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8100fc3a5332c10b595c73e66b9c710c"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_history</b> ()</td></tr>
+<tr class="separator:a8100fc3a5332c10b595c73e66b9c710c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3db40f69eaf6b09b5e27ac3a4d749f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3db40f69eaf6b09b5e27ac3a4d749f4"></a>
+float *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_cpu_data</b> ()</td></tr>
+<tr class="separator:af3db40f69eaf6b09b5e27ac3a4d749f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c46742b872fbb1bc684de67b0a7ae05"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c46742b872fbb1bc684de67b0a7ae05"></a>
+float *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_cpu_grad</b> ()</td></tr>
+<tr class="separator:a0c46742b872fbb1bc684de67b0a7ae05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a559d886b053ce4c8237363050f7ed0c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a559d886b053ce4c8237363050f7ed0c5"></a>
+float *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_cpu_history</b> ()</td></tr>
+<tr class="separator:a559d886b053ce4c8237363050f7ed0c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a8d2fc34b825f6013b996f857422b684f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d2fc34b825f6013b996f857422b684f"></a>
+std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#a8d2fc34b825f6013b996f857422b684f">name_</a></td></tr>
+<tr class="memdesc:a8d2fc34b825f6013b996f857422b684f"><td class="mdescLeft">&#160;</td><td class="mdescRight">name of the parameter used to share wights between neuralnets <br/></td></tr>
+<tr class="separator:a8d2fc34b825f6013b996f857422b684f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acaba6e96c8afd3ff3f42eff99c8e2aaa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaba6e96c8afd3ff3f42eff99c8e2aaa"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#acaba6e96c8afd3ff3f42eff99c8e2aaa">data_</a></td></tr>
+<tr class="memdesc:acaba6e96c8afd3ff3f42eff99c8e2aaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">content, gradient, history gradient of this parameter <br/></td></tr>
+<tr class="separator:acaba6e96c8afd3ff3f42eff99c8e2aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd4ebd32eaf37af837edf09f006920fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd4ebd32eaf37af837edf09f006920fc"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:afd4ebd32eaf37af837edf09f006920fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc6086e4f6a3e193a11615f0fe41a5fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc6086e4f6a3e193a11615f0fe41a5fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>history_</b></td></tr>
+<tr class="separator:abc6086e4f6a3e193a11615f0fe41a5fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f6bf03b73db6eb0a39d178f0c231e45"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f6bf03b73db6eb0a39d178f0c231e45"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>owner_</b></td></tr>
+<tr class="separator:a1f6bf03b73db6eb0a39d178f0c231e45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d15fa43192ee87768de2e6aa4eb58de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d15fa43192ee87768de2e6aa4eb58de"></a>
+ParamProto&#160;</td><td class="memItemRight" valign="bottom"><b>proto_</b></td></tr>
+<tr class="separator:a6d15fa43192ee87768de2e6aa4eb58de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acaaa73f006c1f54e6b49176f4dec0df1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaaa73f006c1f54e6b49176f4dec0df1"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>fan_in_</b></td></tr>
+<tr class="separator:acaaa73f006c1f54e6b49176f4dec0df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ac4176dbd3e73aa42dc5da79456a8dfc4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const int singa::Param::owner </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>if the <a class="el" href="classsinga_1_1Param.html">Param</a> shares data with others, then point to the owner. </p>
+<p>otherwise points to itself. </p>
+
+</div>
+</div>
+<a class="anchor" id="a34f6d78c5fe6450f09c32620d923151e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">int singa::Param::size </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>num of floats. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="param_8h_source.html">param.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ParamCounter-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ParamCounter-members.html b/api/classsinga_1_1ParamCounter-members.html
new file mode 100644
index 0000000..65f5f15
--- /dev/null
+++ b/api/classsinga_1_1ParamCounter-members.html
@@ -0,0 +1,116 @@
+<!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.8.6"/>
+<title>Apache SINGA: Member List</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="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<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="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               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.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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 id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ParamCounter.html">ParamCounter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::ParamCounter Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html#a179acb9ae64adf4794157e92f39bb2b4">AddParam</a>(shared_ptr&lt; Param &gt; p, int local, int owner)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html#a807e335c2bdb233c0ac3494927ddfde2">nCollect</a></td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nGet</b> (defined in <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html#abeed306854558248dc00fad4c574a889">nLocal</a></td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nPut</b> (defined in <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html#aee6344c8ba38544dabd8407cc6b5fff8">nTotal</a></td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nUpdate</b> (defined in <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html#afce7894316b3d2b95b1e5152e93f6e53">owner_procs</a></td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>param</b> (defined in <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParamCounter</b>(shared_ptr&lt; Param &gt; p, int local, int owner) (defined in <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ParamCounter.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ParamCounter.html b/api/classsinga_1_1ParamCounter.html
new file mode 100644
index 0000000..d11e949
--- /dev/null
+++ b/api/classsinga_1_1ParamCounter.html
@@ -0,0 +1,215 @@
+<!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.8.6"/>
+<title>Apache SINGA: singa::ParamCounter Class Reference</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="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<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="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               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.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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 id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ParamCounter.html">ParamCounter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="classsinga_1_1ParamCounter-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::ParamCounter Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Counters used to construct a parameter shard.  
+ <a href="classsinga_1_1ParamCounter.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pm__worker_8h_source.html">pm_worker.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:adaa28651f154023decfb8db4f33251b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adaa28651f154023decfb8db4f33251b5"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>ParamCounter</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; p, int local, int owner)</td></tr>
+<tr class="separator:adaa28651f154023decfb8db4f33251b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a179acb9ae64adf4794157e92f39bb2b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParamCounter.html#a179acb9ae64adf4794157e92f39bb2b4">AddParam</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; p, int local, int owner)</td></tr>
+<tr class="memdesc:a179acb9ae64adf4794157e92f39bb2b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Associate the counter to a <a class="el" href="classsinga_1_1Param.html">Param</a> object.  <a href="#a179acb9ae64adf4794157e92f39bb2b4">More...</a><br/></td></tr>
+<tr class="separator:a179acb9ae64adf4794157e92f39bb2b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:ade7db4a2be7b3cedfe497fae50ecb66c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade7db4a2be7b3cedfe497fae50ecb66c"></a>
+std::atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>nUpdate</b></td></tr>
+<tr class="separator:ade7db4a2be7b3cedfe497fae50ecb66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e634a10fb29094e2a75565f7cfa2368"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e634a10fb29094e2a75565f7cfa2368"></a>
+std::atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>nGet</b></td></tr>
+<tr class="separator:a6e634a10fb29094e2a75565f7cfa2368"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4afaaec1ce5cbd861c6b68148942f6cf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4afaaec1ce5cbd861c6b68148942f6cf"></a>
+std::atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>nPut</b></td></tr>
+<tr class="separator:a4afaaec1ce5cbd861c6b68148942f6cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a807e335c2bdb233c0ac3494927ddfde2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a807e335c2bdb233c0ac3494927ddfde2"></a>
+std::atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParamCounter.html#a807e335c2bdb233c0ac3494927ddfde2">nCollect</a></td></tr>
+<tr class="memdesc:a807e335c2bdb233c0ac3494927ddfde2"><td class="mdescLeft">&#160;</td><td class="mdescRight">all counters are atomic <br/></td></tr>
+<tr class="separator:a807e335c2bdb233c0ac3494927ddfde2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abeed306854558248dc00fad4c574a889"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abeed306854558248dc00fad4c574a889"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParamCounter.html#abeed306854558248dc00fad4c574a889">nLocal</a></td></tr>
+<tr class="memdesc:abeed306854558248dc00fad4c574a889"><td class="mdescLeft">&#160;</td><td class="mdescRight"><h1>local workers uses the shared parameter</h1>
+<br/></td></tr>
+<tr class="separator:abeed306854558248dc00fad4c574a889"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee6344c8ba38544dabd8407cc6b5fff8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee6344c8ba38544dabd8407cc6b5fff8"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParamCounter.html#aee6344c8ba38544dabd8407cc6b5fff8">nTotal</a></td></tr>
+<tr class="memdesc:aee6344c8ba38544dabd8407cc6b5fff8"><td class="mdescLeft">&#160;</td><td class="mdescRight"><h1>total workers uses the shared parameter</h1>
+<br/></td></tr>
+<tr class="separator:aee6344c8ba38544dabd8407cc6b5fff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afce7894316b3d2b95b1e5152e93f6e53"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afce7894316b3d2b95b1e5152e93f6e53"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParamCounter.html#afce7894316b3d2b95b1e5152e93f6e53">owner_procs</a></td></tr>
+<tr class="memdesc:afce7894316b3d2b95b1e5152e93f6e53"><td class="mdescLeft">&#160;</td><td class="mdescRight">the procs id of the worker that owns the parameter <br/></td></tr>
+<tr class="separator:afce7894316b3d2b95b1e5152e93f6e53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d36768f91bb1d78a48e0b549d8fa125"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d36768f91bb1d78a48e0b549d8fa125"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>param</b></td></tr>
+<tr class="separator:a7d36768f91bb1d78a48e0b549d8fa125"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Counters used to construct a parameter shard. </p>
+<p>For each worker group: Every unique <a class="el" href="classsinga_1_1Param.html">Param</a> object is associated with a <a class="el" href="classsinga_1_1ParamCounter.html" title="Counters used to construct a parameter shard. ">ParamCounter</a> object whose param field points the to <a class="el" href="classsinga_1_1Param.html">Param</a> object itself.</p>
+<p><a class="el" href="classsinga_1_1Param.html">Param</a> objects sharing the same values (due to data parallelism) are associated with the same <a class="el" href="classsinga_1_1ParamCounter.html" title="Counters used to construct a parameter shard. ">ParamCounter</a> whose param field also shares the same values.</p>
+<p>Usage: we need to aggregate gradients from all workers for the shared parameters before sending the update request. The nUpdate counter counts the number.</p>
+<p>TODO test with different physical architectures. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a179acb9ae64adf4794157e92f39bb2b4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::ParamCounter::AddParam </td>
+          <td>(</td>
+          <td class="paramtype">shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt;&#160;</td>
+          <td class="paramname"><em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>local</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>owner</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Associate the counter to a <a class="el" href="classsinga_1_1Param.html">Param</a> object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">p</td><td></td></tr>
+    <tr><td class="paramname">local</td><td>1 if this <a class="el" href="classsinga_1_1Param.html">Param</a> object is used by workers in this procs, 0 otherwise </td></tr>
+    <tr><td class="paramname">owner</td><td>the procs id of the worker who ownes this <a class="el" href="classsinga_1_1Param.html">Param</a> object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/trainer/<a class="el" href="pm__worker_8h_source.html">pm_worker.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>