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:08:02 UTC

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

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BPWorker-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BPWorker-members.html b/api/classsinga_1_1BPWorker-members.html
new file mode 100644
index 0000000..2246ac2
--- /dev/null
+++ b/api/classsinga_1_1BPWorker-members.html
@@ -0,0 +1,144 @@
+<!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_1BPWorker.html">BPWorker</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::BPWorker Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Backward</b>(shared_ptr&lt; NeuralNet &gt; net, int step) (defined in <a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>BPWorker</b>(int group_id, int worker_id) (defined in <a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#af57fd6fd480a9daf414469d4e6849b0f">CheckpointNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Collect</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DisplayDebugInfo</b>(const int step) const  (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a15364c773523b09c03b00c3d9793dd57">DisplayNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Forward</b>(shared_ptr&lt; NeuralNet &gt; net, int step, bool training) (defined in <a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Get</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>group_id_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_dealer_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>layer_poller_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>modelproto_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>param_dealer_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>param_poller_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pmworker_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Put</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#ad7119a98731a8d63b3ba145b8cc7e171">ReceiveBlobs</a>(shared_ptr&lt; NeuralNet &gt; net)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#af8d30de06d18aa5946ff553c419a6989">Run</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#af70362e1ae56e63adcbb666d8bef35c6">RunOneBatch</a>(int step, Performance *perf=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SendBlob</b>() (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_test_net</b>(shared_ptr&lt; NeuralNet &gt; test_net) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_validation_net</b>(shared_ptr&lt; NeuralNet &gt; val_net) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Setup</b>(const ModelProto &amp;model, shared_ptr&lt; NeuralNet &gt; train_net, shared_ptr&lt; PMWorker::ParamShard &gt; shard, shared_ptr&lt; Dealer &gt; layer_dealer, shared_ptr&lt; Dealer &gt; param_dealer) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>step_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a1599441b419bbe24d7ffabc5407dd37b">StopNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a817009e9eedd31d6cecb8f4c8d492df9">Test</a>(shared_ptr&lt; NeuralNet &gt; net, int nsteps, bool dispperf)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>test_net_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a46d34f350ff773b8fb45c5d8e7a1b86c">TestNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html#aeac55391b6a1dff32f94d3ffa227fc69">TestOneBatch</a>(shared_ptr&lt; NeuralNet &gt; net, int step, Phase phase)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>train_net_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html#afac1651ac5ea36b72f24bffbb9e43e76">TrainOneBatch</a>(int step)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Update</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a7a485609747a535fe880062848d11a92">ValidateNow</a>(const int step)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>validation_net_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Worker</b>(int group_id, int worker_id) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>worker_id_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~BPWorker</b>() (defined in <a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Worker</b>() (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</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_1BPWorker.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BPWorker.html b/api/classsinga_1_1BPWorker.html
new file mode 100644
index 0000000..1e2c505
--- /dev/null
+++ b/api/classsinga_1_1BPWorker.html
@@ -0,0 +1,267 @@
+<!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::BPWorker 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_1BPWorker.html">BPWorker</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classsinga_1_1BPWorker-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::BPWorker Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::BPWorker:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1BPWorker.png" usemap="#singa::BPWorker_map" alt=""/>
+  <map id="singa::BPWorker_map" name="singa::BPWorker_map">
+<area href="classsinga_1_1Worker.html" title="The Worker class which runs the training algorithm. " alt="singa::Worker" shape="rect" coords="0,0,105,24"/>
+</map>
+ </div></div>
+<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:a88e35c06bdd368b7347564fb8499a9a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88e35c06bdd368b7347564fb8499a9a2"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>BPWorker</b> (int group_id, int worker_id)</td></tr>
+<tr class="separator:a88e35c06bdd368b7347564fb8499a9a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afac1651ac5ea36b72f24bffbb9e43e76"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BPWorker.html#afac1651ac5ea36b72f24bffbb9e43e76">TrainOneBatch</a> (int step)</td></tr>
+<tr class="memdesc:afac1651ac5ea36b72f24bffbb9e43e76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Train one mini-batch.  <a href="#afac1651ac5ea36b72f24bffbb9e43e76">More...</a><br/></td></tr>
+<tr class="separator:afac1651ac5ea36b72f24bffbb9e43e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeac55391b6a1dff32f94d3ffa227fc69"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeac55391b6a1dff32f94d3ffa227fc69"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BPWorker.html#aeac55391b6a1dff32f94d3ffa227fc69">TestOneBatch</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net, int step, Phase phase)</td></tr>
+<tr class="memdesc:aeac55391b6a1dff32f94d3ffa227fc69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test/validate one mini-batch. <br/></td></tr>
+<tr class="separator:aeac55391b6a1dff32f94d3ffa227fc69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2c5f9757ff19a112e52c222fe2ce946"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2c5f9757ff19a112e52c222fe2ce946"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Forward</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net, int step, bool training)</td></tr>
+<tr class="separator:aa2c5f9757ff19a112e52c222fe2ce946"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2297229a3883995a302138e15f6a1092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2297229a3883995a302138e15f6a1092"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Backward</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net, int step)</td></tr>
+<tr class="separator:a2297229a3883995a302138e15f6a1092"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Worker"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Worker')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td></tr>
+<tr class="memitem:af453bff86049b2f07ea110130654aa39 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af453bff86049b2f07ea110130654aa39"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Worker</b> (int group_id, int worker_id)</td></tr>
+<tr class="separator:af453bff86049b2f07ea110130654aa39 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeaeb2893af5698d0469e74fa49534423 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaeb2893af5698d0469e74fa49534423"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Setup</b> (const ModelProto &amp;model, shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; train_net, shared_ptr&lt; <a class="el" href="classsinga_1_1PMWorker.html#a2c6442319470a4f557921c7088338afc">PMWorker::ParamShard</a> &gt; shard, shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt; layer_dealer, shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt; param_dealer)</td></tr>
+<tr class="separator:aeaeb2893af5698d0469e74fa49534423 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4bf7cc4f12a8f3dcbcce897bc7bc528 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4bf7cc4f12a8f3dcbcce897bc7bc528"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_test_net</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; test_net)</td></tr>
+<tr class="separator:aa4bf7cc4f12a8f3dcbcce897bc7bc528 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55c6895985166b5a92506cdc84532025 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55c6895985166b5a92506cdc84532025"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_validation_net</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; val_net)</td></tr>
+<tr class="separator:a55c6895985166b5a92506cdc84532025 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d799c94ae2397ff86e7c95ce9b25477 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d799c94ae2397ff86e7c95ce9b25477"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Put</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a7d799c94ae2397ff86e7c95ce9b25477 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99c9da87f8f93ba661609c5b1257a7c0 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99c9da87f8f93ba661609c5b1257a7c0"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Get</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a99c9da87f8f93ba661609c5b1257a7c0 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a361796e7c92d18cfcd8245e3744b31c9 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a361796e7c92d18cfcd8245e3744b31c9"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Update</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a361796e7c92d18cfcd8245e3744b31c9 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51307899005e044b3096dcdded84d837 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51307899005e044b3096dcdded84d837"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Collect</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a51307899005e044b3096dcdded84d837 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af70362e1ae56e63adcbb666d8bef35c6 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#af70362e1ae56e63adcbb666d8bef35c6">RunOneBatch</a> (int step, <a class="el" href="classsinga_1_1Performance.html">Performance</a> *perf=nullptr)</td></tr>
+<tr class="memdesc:af70362e1ae56e63adcbb666d8bef35c6 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">check validation/test firstly, then TrainOneBatch <a class="el" href="classsinga_1_1Performance.html" title="Collecting metrics, like accuracy, loss, etc. ">Performance</a> collects performance for the whole neuralnet.  <a href="#af70362e1ae56e63adcbb666d8bef35c6">More...</a><br/></td></tr>
+<tr class="separator:af70362e1ae56e63adcbb666d8bef35c6 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a817009e9eedd31d6cecb8f4c8d492df9 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a817009e9eedd31d6cecb8f4c8d492df9">Test</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net, int nsteps, bool dispperf)</td></tr>
+<tr class="memdesc:a817009e9eedd31d6cecb8f4c8d492df9 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test the perforance of the learned model on validation or test dataset.  <a href="#a817009e9eedd31d6cecb8f4c8d492df9">More...</a><br/></td></tr>
+<tr class="separator:a817009e9eedd31d6cecb8f4c8d492df9 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8d30de06d18aa5946ff553c419a6989 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#af8d30de06d18aa5946ff553c419a6989">Run</a> ()</td></tr>
+<tr class="memdesc:af8d30de06d18aa5946ff553c419a6989 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function of <a class="el" href="classsinga_1_1Worker.html" title="The Worker class which runs the training algorithm. ">Worker</a>.  <a href="#af8d30de06d18aa5946ff553c419a6989">More...</a><br/></td></tr>
+<tr class="separator:af8d30de06d18aa5946ff553c419a6989 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15364c773523b09c03b00c3d9793dd57 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a15364c773523b09c03b00c3d9793dd57">DisplayNow</a> (const int step) const </td></tr>
+<tr class="memdesc:a15364c773523b09c03b00c3d9793dd57 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pull data from layers resident on other nodes due to Model Partition.  <a href="#a15364c773523b09c03b00c3d9793dd57">More...</a><br/></td></tr>
+<tr class="separator:a15364c773523b09c03b00c3d9793dd57 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a162ea95ec3f467879b20fdcdc16fa96e inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a162ea95ec3f467879b20fdcdc16fa96e"></a>
+const bool&#160;</td><td class="memItemRight" valign="bottom"><b>DisplayDebugInfo</b> (const int step) const </td></tr>
+<tr class="separator:a162ea95ec3f467879b20fdcdc16fa96e inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1599441b419bbe24d7ffabc5407dd37b inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1599441b419bbe24d7ffabc5407dd37b"></a>
+const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a1599441b419bbe24d7ffabc5407dd37b">StopNow</a> (const int step) const </td></tr>
+<tr class="memdesc:a1599441b419bbe24d7ffabc5407dd37b inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">return true if the stop condition is satisfied, e.g., the maximum number of steps have been reached. <br/></td></tr>
+<tr class="separator:a1599441b419bbe24d7ffabc5407dd37b inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af57fd6fd480a9daf414469d4e6849b0f inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#af57fd6fd480a9daf414469d4e6849b0f">CheckpointNow</a> (const int step) const </td></tr>
+<tr class="memdesc:af57fd6fd480a9daf414469d4e6849b0f inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check is it time to do checkpoint.  <a href="#af57fd6fd480a9daf414469d4e6849b0f">More...</a><br/></td></tr>
+<tr class="separator:af57fd6fd480a9daf414469d4e6849b0f inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a46d34f350ff773b8fb45c5d8e7a1b86c inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a46d34f350ff773b8fb45c5d8e7a1b86c">TestNow</a> (const int step) const </td></tr>
+<tr class="memdesc:a46d34f350ff773b8fb45c5d8e7a1b86c inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check is it time to do test.  <a href="#a46d34f350ff773b8fb45c5d8e7a1b86c">More...</a><br/></td></tr>
+<tr class="separator:a46d34f350ff773b8fb45c5d8e7a1b86c inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a485609747a535fe880062848d11a92 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a7a485609747a535fe880062848d11a92">ValidateNow</a> (const int step)</td></tr>
+<tr class="memdesc:a7a485609747a535fe880062848d11a92 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check is it time to do validation.  <a href="#a7a485609747a535fe880062848d11a92">More...</a><br/></td></tr>
+<tr class="separator:a7a485609747a535fe880062848d11a92 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7119a98731a8d63b3ba145b8cc7e171 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#ad7119a98731a8d63b3ba145b8cc7e171">ReceiveBlobs</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net)</td></tr>
+<tr class="memdesc:ad7119a98731a8d63b3ba145b8cc7e171 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">start training from scratch.  <a href="#ad7119a98731a8d63b3ba145b8cc7e171">More...</a><br/></td></tr>
+<tr class="separator:ad7119a98731a8d63b3ba145b8cc7e171 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adff5681d83ef0bc6ecbd1eb322eccc99 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adff5681d83ef0bc6ecbd1eb322eccc99"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>SendBlob</b> ()</td></tr>
+<tr class="separator:adff5681d83ef0bc6ecbd1eb322eccc99 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Worker"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Worker')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td></tr>
+<tr class="memitem:a96e5aeb1b3d9be29b5b5977d388cf1ce inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96e5aeb1b3d9be29b5b5977d388cf1ce"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>group_id_</b></td></tr>
+<tr class="separator:a96e5aeb1b3d9be29b5b5977d388cf1ce inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac396851816f86c3ccb2e66c94468823d inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac396851816f86c3ccb2e66c94468823d"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>worker_id_</b></td></tr>
+<tr class="separator:ac396851816f86c3ccb2e66c94468823d inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94782c6f00760500ac65e2eaea4a092b inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94782c6f00760500ac65e2eaea4a092b"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>step_</b></td></tr>
+<tr class="separator:a94782c6f00760500ac65e2eaea4a092b inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24d7ebd724da0ceff08d1bbdacfe860c inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24d7ebd724da0ceff08d1bbdacfe860c"></a>
+ModelProto&#160;</td><td class="memItemRight" valign="bottom"><b>modelproto_</b></td></tr>
+<tr class="separator:a24d7ebd724da0ceff08d1bbdacfe860c inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac09b72e7a0cbb797559d49bad7cf4097 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac09b72e7a0cbb797559d49bad7cf4097"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1PMWorker.html">PMWorker</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>pmworker_</b></td></tr>
+<tr class="separator:ac09b72e7a0cbb797559d49bad7cf4097 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aecd59304a118afa5e06add08bbeca2cc inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecd59304a118afa5e06add08bbeca2cc"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>train_net_</b></td></tr>
+<tr class="separator:aecd59304a118afa5e06add08bbeca2cc inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad543a97767e7cb879a0d861aee933de6 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad543a97767e7cb879a0d861aee933de6"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>test_net_</b></td></tr>
+<tr class="separator:ad543a97767e7cb879a0d861aee933de6 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab3b1ffc2c18ae47b3e0fba98a9a4553 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab3b1ffc2c18ae47b3e0fba98a9a4553"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>validation_net_</b></td></tr>
+<tr class="separator:aab3b1ffc2c18ae47b3e0fba98a9a4553 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2bbbc4c5c90c0969227b714f6e1485f inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2bbbc4c5c90c0969227b714f6e1485f"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>layer_dealer_</b></td></tr>
+<tr class="separator:ae2bbbc4c5c90c0969227b714f6e1485f inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b8909722056e62da4dca4c52f82fbd1 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b8909722056e62da4dca4c52f82fbd1"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>param_dealer_</b></td></tr>
+<tr class="separator:a1b8909722056e62da4dca4c52f82fbd1 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cd37cd37fb2f222cf8a565a6cc37299 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cd37cd37fb2f222cf8a565a6cc37299"></a>
+<a class="el" href="classsinga_1_1Poller.html">Poller</a>&#160;</td><td class="memItemRight" valign="bottom"><b>layer_poller_</b></td></tr>
+<tr class="separator:a1cd37cd37fb2f222cf8a565a6cc37299 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c1a7a2d6ca1d90b4ac7e0837e7788a1 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c1a7a2d6ca1d90b4ac7e0837e7788a1"></a>
+<a class="el" href="classsinga_1_1Poller.html">Poller</a>&#160;</td><td class="memItemRight" valign="bottom"><b>param_poller_</b></td></tr>
+<tr class="separator:a9c1a7a2d6ca1d90b4ac7e0837e7788a1 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="afac1651ac5ea36b72f24bffbb9e43e76"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BPWorker::TrainOneBatch </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>step</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Train one mini-batch. </p>
+<p>Test/Validation is done before training. </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Worker.html#a62b15f701a0203635255479a4dd2e9bc">singa::Worker</a>.</p>
+
+</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="worker_8h_source.html">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>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BPWorker.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BPWorker.png b/api/classsinga_1_1BPWorker.png
new file mode 100644
index 0000000..d8678ea
Binary files /dev/null and b/api/classsinga_1_1BPWorker.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BaseMsg-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BaseMsg-members.html b/api/classsinga_1_1BaseMsg-members.html
new file mode 100644
index 0000000..c08a219
--- /dev/null
+++ b/api/classsinga_1_1BaseMsg-members.html
@@ -0,0 +1,127 @@
+<!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_1BaseMsg.html">BaseMsg</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::BaseMsg Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html#af71fcc84d739ea852ae6255a5d60727a">add_frame</a>(const void *, int nBytes)=0</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html#aa78c849901d38f5cb8f8c524ef085866">CopyAddr</a>()=0</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dst_flag</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>dst_group_id</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dst_id</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>frame_data</b>()=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>frame_size</b>()=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html#a619706d23b0c1927069040e1d3ba604a">next_frame</a>()=0</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_dst</b>(int group_id, int id, int flag)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_dst</b>(int procs_id, int flag)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html#ad13b31cea0f4b16025d36205a979c12b">set_src</a>(int group_id, int id, int flag)=0</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_src</b>(int procs_id, int flag)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_target</b>(int target)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_type</b>(int type)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SetAddr</b>(BaseMsg *msg)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>src_flag</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>src_group_id</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>src_id</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>target</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html#ab203b4c239a4dffdd658efb26870c9ed">~BaseMsg</a>()</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">inline</span><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:40 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_1BaseMsg.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BaseMsg.html b/api/classsinga_1_1BaseMsg.html
new file mode 100644
index 0000000..8b1b39f
--- /dev/null
+++ b/api/classsinga_1_1BaseMsg.html
@@ -0,0 +1,266 @@
+<!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::BaseMsg 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_1BaseMsg.html">BaseMsg</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classsinga_1_1BaseMsg-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::BaseMsg Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::BaseMsg:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1BaseMsg.png" usemap="#singa::BaseMsg_map" alt=""/>
+  <map id="singa::BaseMsg_map" name="singa::BaseMsg_map">
+<area href="classsinga_1_1Msg.html" alt="singa::Msg" shape="rect" coords="0,56,100,80"/>
+</map>
+ </div></div>
+<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:ab203b4c239a4dffdd658efb26870c9ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab203b4c239a4dffdd658efb26870c9ed"></a>
+virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BaseMsg.html#ab203b4c239a4dffdd658efb26870c9ed">~BaseMsg</a> ()</td></tr>
+<tr class="memdesc:ab203b4c239a4dffdd658efb26870c9ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor to free memory. <br/></td></tr>
+<tr class="separator:ab203b4c239a4dffdd658efb26870c9ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad13b31cea0f4b16025d36205a979c12b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BaseMsg.html#ad13b31cea0f4b16025d36205a979c12b">set_src</a> (int group_id, int id, int flag)=0</td></tr>
+<tr class="separator:ad13b31cea0f4b16025d36205a979c12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1edd53b89f49c58a30b447f65e9b79ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1edd53b89f49c58a30b447f65e9b79ad"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_dst</b> (int group_id, int id, int flag)=0</td></tr>
+<tr class="separator:a1edd53b89f49c58a30b447f65e9b79ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2e5f69bfb0d4a5934670fcbcd47cf18"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2e5f69bfb0d4a5934670fcbcd47cf18"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_src</b> (int procs_id, int flag)=0</td></tr>
+<tr class="separator:ae2e5f69bfb0d4a5934670fcbcd47cf18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a004442e5d8487d5b2c3d3ccf547ae4bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a004442e5d8487d5b2c3d3ccf547ae4bf"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_dst</b> (int procs_id, int flag)=0</td></tr>
+<tr class="separator:a004442e5d8487d5b2c3d3ccf547ae4bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a304b99e0421d7a8ddd406e545d3b5cbd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a304b99e0421d7a8ddd406e545d3b5cbd"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>src_group_id</b> () const =0</td></tr>
+<tr class="separator:a304b99e0421d7a8ddd406e545d3b5cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62de46c21f08d496a330e6a920691a79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62de46c21f08d496a330e6a920691a79"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>dst_group_id</b> () const =0</td></tr>
+<tr class="separator:a62de46c21f08d496a330e6a920691a79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2f37bf356baf242498e659ee95bc8df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2f37bf356baf242498e659ee95bc8df"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>src_id</b> () const =0</td></tr>
+<tr class="separator:ac2f37bf356baf242498e659ee95bc8df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e7a9c15baf43839751d81865fa43303"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e7a9c15baf43839751d81865fa43303"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>dst_id</b> () const =0</td></tr>
+<tr class="separator:a3e7a9c15baf43839751d81865fa43303"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac461e6a545b2c8b02a6af11e9fe549c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac461e6a545b2c8b02a6af11e9fe549c7"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>src_flag</b> () const =0</td></tr>
+<tr class="separator:ac461e6a545b2c8b02a6af11e9fe549c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec33795035260e5a784fdd08930e7a6e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec33795035260e5a784fdd08930e7a6e"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>dst_flag</b> () const =0</td></tr>
+<tr class="separator:aec33795035260e5a784fdd08930e7a6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4ebf162b2bcbac97bc7013428415eb3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4ebf162b2bcbac97bc7013428415eb3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_type</b> (int type)=0</td></tr>
+<tr class="separator:af4ebf162b2bcbac97bc7013428415eb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72b1aba215a6e168751b35ecf6a3d8e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72b1aba215a6e168751b35ecf6a3d8e5"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const =0</td></tr>
+<tr class="separator:a72b1aba215a6e168751b35ecf6a3d8e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba112a19c604257824d21fd5b454e1bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba112a19c604257824d21fd5b454e1bf"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_target</b> (int target)=0</td></tr>
+<tr class="separator:aba112a19c604257824d21fd5b454e1bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc55b7b5834403050a18dcf7dd6bd385"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc55b7b5834403050a18dcf7dd6bd385"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>target</b> () const =0</td></tr>
+<tr class="separator:acc55b7b5834403050a18dcf7dd6bd385"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa78c849901d38f5cb8f8c524ef085866"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa78c849901d38f5cb8f8c524ef085866"></a>
+virtual <a class="el" href="classsinga_1_1BaseMsg.html">BaseMsg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BaseMsg.html#aa78c849901d38f5cb8f8c524ef085866">CopyAddr</a> ()=0</td></tr>
+<tr class="memdesc:aa78c849901d38f5cb8f8c524ef085866"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy src and dst address, including group_id, id, flag. <br/></td></tr>
+<tr class="separator:aa78c849901d38f5cb8f8c524ef085866"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4622b3562eb72ae4e881d5e4f1baf588"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4622b3562eb72ae4e881d5e4f1baf588"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>SetAddr</b> (<a class="el" href="classsinga_1_1BaseMsg.html">BaseMsg</a> *msg)=0</td></tr>
+<tr class="separator:a4622b3562eb72ae4e881d5e4f1baf588"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af71fcc84d739ea852ae6255a5d60727a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af71fcc84d739ea852ae6255a5d60727a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BaseMsg.html#af71fcc84d739ea852ae6255a5d60727a">add_frame</a> (const void *, int nBytes)=0</td></tr>
+<tr class="memdesc:af71fcc84d739ea852ae6255a5d60727a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a frame (a chunck of bytes) into the message. <br/></td></tr>
+<tr class="separator:af71fcc84d739ea852ae6255a5d60727a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a083fd630982be8c64210755a35ebc8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a083fd630982be8c64210755a35ebc8"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>frame_size</b> ()=0</td></tr>
+<tr class="separator:a7a083fd630982be8c64210755a35ebc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a581bb76c91e357ab5eb9bbf731f94000"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a581bb76c91e357ab5eb9bbf731f94000"></a>
+virtual void *&#160;</td><td class="memItemRight" valign="bottom"><b>frame_data</b> ()=0</td></tr>
+<tr class="separator:a581bb76c91e357ab5eb9bbf731f94000"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a619706d23b0c1927069040e1d3ba604a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BaseMsg.html#a619706d23b0c1927069040e1d3ba604a">next_frame</a> ()=0</td></tr>
+<tr class="memdesc:a619706d23b0c1927069040e1d3ba604a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move the cursor to the next frame.  <a href="#a619706d23b0c1927069040e1d3ba604a">More...</a><br/></td></tr>
+<tr class="separator:a619706d23b0c1927069040e1d3ba604a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a619706d23b0c1927069040e1d3ba604a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual bool singa::BaseMsg::next_frame </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Move the cursor to the next frame. </p>
+<dl class="section return"><dt>Returns</dt><dd>true if the next frame is not NULL; otherwise false </dd></dl>
+
+<p>Implemented in <a class="el" href="classsinga_1_1Msg.html#a1cea3c81d4d3a5f6ee60c294d1c116eb">singa::Msg</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad13b31cea0f4b16025d36205a979c12b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BaseMsg::set_src </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>group_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>flag</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">group_id</td><td>worker/server group id </td></tr>
+    <tr><td class="paramname">id</td><td>worker/server id within the group </td></tr>
+    <tr><td class="paramname">flag</td><td>0 for server, 1 for worker, 2 for stub </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implemented in <a class="el" href="classsinga_1_1Msg.html#a91f08357ea61fb7008ea0d32c42ccbc1">singa::Msg</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/communication/<a class="el" href="msg_8h_source.html">msg.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 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_1BaseMsg.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BaseMsg.png b/api/classsinga_1_1BaseMsg.png
new file mode 100644
index 0000000..6b8b12f
Binary files /dev/null and b/api/classsinga_1_1BaseMsg.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BasePoller-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BasePoller-members.html b/api/classsinga_1_1BasePoller-members.html
new file mode 100644
index 0000000..a063f9f
--- /dev/null
+++ b/api/classsinga_1_1BasePoller-members.html
@@ -0,0 +1,108 @@
+<!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_1BasePoller.html">BasePoller</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::BasePoller Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1BasePoller.html">singa::BasePoller</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BasePoller.html#a268aa6e2738ad030f8da82964da4597c">Add</a>(Socket *socket)=0</td><td class="entry"><a class="el" href="classsinga_1_1BasePoller.html">singa::BasePoller</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1BasePoller.html#a85777422b8d41fbc73829797f0332c5d">Wait</a>(int timeout)=0</td><td class="entry"><a class="el" href="classsinga_1_1BasePoller.html">singa::BasePoller</a></td><td class="entry"><span class="mlabel">pure 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:40 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>