| <!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.13"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>mxnet: mxnet::Engine 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/searchdata.js"></script> |
| <script type="text/javascript" src="search/search.js"></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="projectalign" style="padding-left: 0.5em;"> |
| <div id="projectname">mxnet |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.8.13 --> |
| <script type="text/javascript"> |
| var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| </script> |
| <script type="text/javascript" src="menudata.js"></script> |
| <script type="text/javascript" src="menu.js"></script> |
| <script type="text/javascript"> |
| $(function() { |
| initMenu('',true,false,'search.php','Search'); |
| $(document).ready(function() { init_search(); }); |
| }); |
| </script> |
| <div id="main-nav"></div> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| </div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <div id="nav-path" class="navpath"> |
| <ul> |
| <li class="navelem"><a class="el" href="namespacemxnet.html">mxnet</a></li><li class="navelem"><a class="el" href="classmxnet_1_1Engine.html">Engine</a></li> </ul> |
| </div> |
| </div><!-- top --> |
| <div class="header"> |
| <div class="summary"> |
| <a href="#pub-types">Public Types</a> | |
| <a href="#pub-methods">Public Member Functions</a> | |
| <a href="#pub-static-methods">Static Public Member Functions</a> | |
| <a href="classmxnet_1_1Engine-members.html">List of all members</a> </div> |
| <div class="headertitle"> |
| <div class="title">mxnet::Engine Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p>Dependency engine that schedules operations. |
| <a href="classmxnet_1_1Engine.html#details">More...</a></p> |
| |
| <p><code>#include <<a class="el" href="engine_8h_source.html">engine.h</a>></code></p> |
| <div class="dynheader"> |
| Collaboration diagram for mxnet::Engine:</div> |
| <div class="dyncontent"> |
| <div class="center"><img src="classmxnet_1_1Engine__coll__graph.png" border="0" usemap="#mxnet_1_1Engine_coll__map" alt="Collaboration graph"/></div> |
| <map name="mxnet_1_1Engine_coll__map" id="mxnet_1_1Engine_coll__map"> |
| </map> |
| </div> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> |
| Public Types</h2></td></tr> |
| <tr class="memitem:a16b757432556f835d27f1b5e1dbe1b06"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classmxnet_1_1engine_1_1CallbackOnComplete.html">engine::CallbackOnComplete</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a16b757432556f835d27f1b5e1dbe1b06">CallbackOnComplete</a></td></tr> |
| <tr class="memdesc:a16b757432556f835d27f1b5e1dbe1b06"><td class="mdescLeft"> </td><td class="mdescRight">callback on complete <a href="#a16b757432556f835d27f1b5e1dbe1b06">More...</a><br /></td></tr> |
| <tr class="separator:a16b757432556f835d27f1b5e1dbe1b06"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a07f30ab85fca436e1bbcc72cd4d8bb35"><td class="memItemLeft" align="right" valign="top">typedef std::function< void(<a class="el" href="structmxnet_1_1RunContext.html">RunContext</a>)> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a07f30ab85fca436e1bbcc72cd4d8bb35">SyncFn</a></td></tr> |
| <tr class="memdesc:a07f30ab85fca436e1bbcc72cd4d8bb35"><td class="mdescLeft"> </td><td class="mdescRight">Synchronous operation to pass to engine. <a href="#a07f30ab85fca436e1bbcc72cd4d8bb35">More...</a><br /></td></tr> |
| <tr class="separator:a07f30ab85fca436e1bbcc72cd4d8bb35"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad41feff70bba0f29fc24f60b5381984c"><td class="memItemLeft" align="right" valign="top">typedef std::function< void(<a class="el" href="structmxnet_1_1RunContext.html">RunContext</a>, <a class="el" href="classmxnet_1_1Engine.html#a16b757432556f835d27f1b5e1dbe1b06">CallbackOnComplete</a>)> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#ad41feff70bba0f29fc24f60b5381984c">AsyncFn</a></td></tr> |
| <tr class="memdesc:ad41feff70bba0f29fc24f60b5381984c"><td class="mdescLeft"> </td><td class="mdescRight">Asynchronous operation to pass to engine. <a href="#ad41feff70bba0f29fc24f60b5381984c">More...</a><br /></td></tr> |
| <tr class="separator:ad41feff70bba0f29fc24f60b5381984c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aac31510c793a12944c33f9cac6150491"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespacemxnet_1_1engine.html#a9d36c4f33eae8531586dc2edf83ae7cf">engine::VarHandle</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a></td></tr> |
| <tr class="memdesc:aac31510c793a12944c33f9cac6150491"><td class="mdescLeft"> </td><td class="mdescRight">Variable pointer. <a href="#aac31510c793a12944c33f9cac6150491">More...</a><br /></td></tr> |
| <tr class="separator:aac31510c793a12944c33f9cac6150491"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a832436e413a075291aa1a631942c3f01"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespacemxnet_1_1engine.html#a2d9b14b658e3f3c4e03ca49cd38ace94">engine::OprHandle</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a832436e413a075291aa1a631942c3f01">OprHandle</a></td></tr> |
| <tr class="memdesc:a832436e413a075291aa1a631942c3f01"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classmxnet_1_1Operator.html" title="Operator interface. Operator defines basic operation unit of optimized computation graph in mxnet...">Operator</a> pointer. <a href="#a832436e413a075291aa1a631942c3f01">More...</a><br /></td></tr> |
| <tr class="separator:a832436e413a075291aa1a631942c3f01"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><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:a3c0e2989538b5369c1592eddbcf0181c"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a3c0e2989538b5369c1592eddbcf0181c">NotifyShutdown</a> ()=0</td></tr> |
| <tr class="memdesc:a3c0e2989538b5369c1592eddbcf0181c"><td class="mdescLeft"> </td><td class="mdescRight">Notify the engine about a shutdown, This can help engine to print less messages into display. <a href="#a3c0e2989538b5369c1592eddbcf0181c">More...</a><br /></td></tr> |
| <tr class="separator:a3c0e2989538b5369c1592eddbcf0181c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a30f8947a7a1ad86b4c2cdb5b15b6d1e1"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a30f8947a7a1ad86b4c2cdb5b15b6d1e1">Stop</a> ()</td></tr> |
| <tr class="memdesc:a30f8947a7a1ad86b4c2cdb5b15b6d1e1"><td class="mdescLeft"> </td><td class="mdescRight">Stop all workers in the engine. <a href="#a30f8947a7a1ad86b4c2cdb5b15b6d1e1">More...</a><br /></td></tr> |
| <tr class="separator:a30f8947a7a1ad86b4c2cdb5b15b6d1e1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a136a1d60db77a0846faa8462d0fb6237"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a136a1d60db77a0846faa8462d0fb6237">Start</a> ()</td></tr> |
| <tr class="memdesc:a136a1d60db77a0846faa8462d0fb6237"><td class="mdescLeft"> </td><td class="mdescRight">Restart all workers in the engine. <a href="#a136a1d60db77a0846faa8462d0fb6237">More...</a><br /></td></tr> |
| <tr class="separator:a136a1d60db77a0846faa8462d0fb6237"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a6e141b188f018d5d933ab99868631d5e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a6e141b188f018d5d933ab99868631d5e">NewVariable</a> ()=0</td></tr> |
| <tr class="memdesc:a6e141b188f018d5d933ab99868631d5e"><td class="mdescLeft"> </td><td class="mdescRight">Allocate a new variable, the variable can then be used to schedule the operation concurrently via dependency patterns. <a href="#a6e141b188f018d5d933ab99868631d5e">More...</a><br /></td></tr> |
| <tr class="separator:a6e141b188f018d5d933ab99868631d5e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a1aa6dcadfbca86d215366c380310dd57"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmxnet_1_1Engine.html#a832436e413a075291aa1a631942c3f01">OprHandle</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a1aa6dcadfbca86d215366c380310dd57">NewOperator</a> (<a class="el" href="classmxnet_1_1Engine.html#ad41feff70bba0f29fc24f60b5381984c">AsyncFn</a> fn, std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const &const_vars, std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const &mutable_vars, <a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3b">FnProperty</a> prop=<a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3ba07fa7a19aa722c635a15e94cb7f50416">FnProperty::kNormal</a>, const char *opr_name=nullptr, bool wait=false)=0</td></tr> |
| <tr class="memdesc:a1aa6dcadfbca86d215366c380310dd57"><td class="mdescLeft"> </td><td class="mdescRight">Create a new operator. The returned operator could be saved externally so that it could be resued for scheduling. <a href="#a1aa6dcadfbca86d215366c380310dd57">More...</a><br /></td></tr> |
| <tr class="separator:a1aa6dcadfbca86d215366c380310dd57"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3fd7c8b35a2f52805506cc242bf82ca7"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a3fd7c8b35a2f52805506cc242bf82ca7">DeleteOperator</a> (<a class="el" href="classmxnet_1_1Engine.html#a832436e413a075291aa1a631942c3f01">OprHandle</a> op)=0</td></tr> |
| <tr class="memdesc:a3fd7c8b35a2f52805506cc242bf82ca7"><td class="mdescLeft"> </td><td class="mdescRight">Delete the given operator. <a href="#a3fd7c8b35a2f52805506cc242bf82ca7">More...</a><br /></td></tr> |
| <tr class="separator:a3fd7c8b35a2f52805506cc242bf82ca7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad213d6b1a7c1e0d4d41275b9efe5f097"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#ad213d6b1a7c1e0d4d41275b9efe5f097">Push</a> (<a class="el" href="classmxnet_1_1Engine.html#a832436e413a075291aa1a631942c3f01">OprHandle</a> op, <a class="el" href="structmxnet_1_1Context.html">Context</a> exec_ctx, int priority=0, bool profiling=false)=0</td></tr> |
| <tr class="memdesc:ad213d6b1a7c1e0d4d41275b9efe5f097"><td class="mdescLeft"> </td><td class="mdescRight">Push an operator to the engine. <a href="#ad213d6b1a7c1e0d4d41275b9efe5f097">More...</a><br /></td></tr> |
| <tr class="separator:ad213d6b1a7c1e0d4d41275b9efe5f097"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:afbdd4887c046e05aabe9272d0a0953a7"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#afbdd4887c046e05aabe9272d0a0953a7">PushAsync</a> (<a class="el" href="classmxnet_1_1Engine.html#ad41feff70bba0f29fc24f60b5381984c">AsyncFn</a> exec_fun, <a class="el" href="structmxnet_1_1Context.html">Context</a> exec_ctx, std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const &const_vars, std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const &mutable_vars, <a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3b">FnProperty</a> prop=<a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3ba07fa7a19aa722c635a15e94cb7f50416">FnProperty::kNormal</a>, int priority=0, const char *opr_name=nullptr, bool wait=false)=0</td></tr> |
| <tr class="memdesc:afbdd4887c046e05aabe9272d0a0953a7"><td class="mdescLeft"> </td><td class="mdescRight">Push an asynchronous operation to the engine. <a href="#afbdd4887c046e05aabe9272d0a0953a7">More...</a><br /></td></tr> |
| <tr class="separator:afbdd4887c046e05aabe9272d0a0953a7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a738e5192dab345ab0ec9888b095903cf"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a738e5192dab345ab0ec9888b095903cf">DeleteVariable</a> (<a class="el" href="classmxnet_1_1Engine.html#a07f30ab85fca436e1bbcc72cd4d8bb35">SyncFn</a> delete_fn, <a class="el" href="structmxnet_1_1Context.html">Context</a> exec_ctx, <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> var)=0</td></tr> |
| <tr class="memdesc:a738e5192dab345ab0ec9888b095903cf"><td class="mdescLeft"> </td><td class="mdescRight">Schedule the deletion of a variable. <a href="#a738e5192dab345ab0ec9888b095903cf">More...</a><br /></td></tr> |
| <tr class="separator:a738e5192dab345ab0ec9888b095903cf"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aed51bd7f294d9f2b569764a0c151d883"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#aed51bd7f294d9f2b569764a0c151d883">WaitForVar</a> (<a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> var)=0</td></tr> |
| <tr class="memdesc:aed51bd7f294d9f2b569764a0c151d883"><td class="mdescLeft"> </td><td class="mdescRight">Wait for a variable. <a href="#aed51bd7f294d9f2b569764a0c151d883">More...</a><br /></td></tr> |
| <tr class="separator:aed51bd7f294d9f2b569764a0c151d883"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a64483aecce780e96056be89d6289e782"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a64483aecce780e96056be89d6289e782">WaitForAll</a> ()=0</td></tr> |
| <tr class="memdesc:a64483aecce780e96056be89d6289e782"><td class="mdescLeft"> </td><td class="mdescRight">Wait until all the activity of engine finishes. <a href="#a64483aecce780e96056be89d6289e782">More...</a><br /></td></tr> |
| <tr class="separator:a64483aecce780e96056be89d6289e782"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a80ce63b0c9d088e528b8220f292b5fd6"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a80ce63b0c9d088e528b8220f292b5fd6">Throw</a> (<a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> var)=0</td></tr> |
| <tr class="memdesc:a80ce63b0c9d088e528b8220f292b5fd6"><td class="mdescLeft"> </td><td class="mdescRight">Throw if threre are associated exception with var. <a href="#a80ce63b0c9d088e528b8220f292b5fd6">More...</a><br /></td></tr> |
| <tr class="separator:a80ce63b0c9d088e528b8220f292b5fd6"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aff025321827e15096c02342225f2395b"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#aff025321827e15096c02342225f2395b">~Engine</a> () noexcept(false)</td></tr> |
| <tr class="memdesc:aff025321827e15096c02342225f2395b"><td class="mdescLeft"> </td><td class="mdescRight">virtual destructor <a href="#aff025321827e15096c02342225f2395b">More...</a><br /></td></tr> |
| <tr class="separator:aff025321827e15096c02342225f2395b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac4c1d74e906699cf074a34dfdc968d8c"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#ac4c1d74e906699cf074a34dfdc968d8c">PushSync</a> (<a class="el" href="classmxnet_1_1Engine.html#a07f30ab85fca436e1bbcc72cd4d8bb35">SyncFn</a> exec_fn, <a class="el" href="structmxnet_1_1Context.html">Context</a> exec_ctx, std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const &const_vars, std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const &mutable_vars, <a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3b">FnProperty</a> prop=<a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3ba07fa7a19aa722c635a15e94cb7f50416">FnProperty::kNormal</a>, int priority=0, const char *opr_name=nullptr)</td></tr> |
| <tr class="memdesc:ac4c1d74e906699cf074a34dfdc968d8c"><td class="mdescLeft"> </td><td class="mdescRight">Push an synchronous operation to the engine. <a href="#ac4c1d74e906699cf074a34dfdc968d8c">More...</a><br /></td></tr> |
| <tr class="separator:ac4c1d74e906699cf074a34dfdc968d8c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a53659c833b8cac3cbcd15a152275a809"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1Engine.html#a16b757432556f835d27f1b5e1dbe1b06">CallbackOnComplete</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a53659c833b8cac3cbcd15a152275a809">CreateCallback</a> (void(*callback)(<a class="el" href="classmxnet_1_1Engine.html">Engine</a> *, void *, const dmlc::Error *), void *param)</td></tr> |
| <tr class="memdesc:a53659c833b8cac3cbcd15a152275a809"><td class="mdescLeft"> </td><td class="mdescRight">factory function to create OnComplete callback. <a href="#a53659c833b8cac3cbcd15a152275a809">More...</a><br /></td></tr> |
| <tr class="separator:a53659c833b8cac3cbcd15a152275a809"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a9d8ac1987a6844dba9b0463030fb3430"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#a9d8ac1987a6844dba9b0463030fb3430">DeduplicateVarHandle</a> (std::vector< <a class="el" href="namespacemxnet_1_1engine.html#a9d36c4f33eae8531586dc2edf83ae7cf">engine::VarHandle</a> > *read_vars, std::vector< <a class="el" href="namespacemxnet_1_1engine.html#a9d36c4f33eae8531586dc2edf83ae7cf">engine::VarHandle</a> > *write_vars)</td></tr> |
| <tr class="separator:a9d8ac1987a6844dba9b0463030fb3430"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa3cc0ead60033689efdc28dba2d3a372"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#aa3cc0ead60033689efdc28dba2d3a372">bulk_size</a> () const</td></tr> |
| <tr class="memdesc:aa3cc0ead60033689efdc28dba2d3a372"><td class="mdescLeft"> </td><td class="mdescRight">query current limit for bulk size <a href="#aa3cc0ead60033689efdc28dba2d3a372">More...</a><br /></td></tr> |
| <tr class="separator:aa3cc0ead60033689efdc28dba2d3a372"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac33a02d6827b43c27c04371d8ef04ef4"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#ac33a02d6827b43c27c04371d8ef04ef4">set_bulk_size</a> (int)</td></tr> |
| <tr class="memdesc:ac33a02d6827b43c27c04371d8ef04ef4"><td class="mdescLeft"> </td><td class="mdescRight">set maximum limit for bulk size <a href="#ac33a02d6827b43c27c04371d8ef04ef4">More...</a><br /></td></tr> |
| <tr class="separator:ac33a02d6827b43c27c04371d8ef04ef4"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> |
| Static Public Member Functions</h2></td></tr> |
| <tr class="memitem:ae0a23da15ef63d9479c7468e1f2f825f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmxnet_1_1Engine.html">Engine</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#ae0a23da15ef63d9479c7468e1f2f825f">Get</a> ()</td></tr> |
| <tr class="separator:ae0a23da15ef63d9479c7468e1f2f825f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab6417f2ae519b946c104f975d84d55d5"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr< <a class="el" href="classmxnet_1_1Engine.html">Engine</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Engine.html#ab6417f2ae519b946c104f975d84d55d5">_GetSharedRef</a> ()</td></tr> |
| <tr class="memdesc:ab6417f2ae519b946c104f975d84d55d5"><td class="mdescLeft"> </td><td class="mdescRight">Get shared pointer reference to engine singleton. Most user should not call this function. This function is called by another singleton X who requires engine to be destructed after X. <a href="#ab6417f2ae519b946c104f975d84d55d5">More...</a><br /></td></tr> |
| <tr class="separator:ab6417f2ae519b946c104f975d84d55d5"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p>Dependency engine that schedules operations. </p> |
| </div><h2 class="groupheader">Member Typedef Documentation</h2> |
| <a id="ad41feff70bba0f29fc24f60b5381984c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ad41feff70bba0f29fc24f60b5381984c">◆ </a></span>AsyncFn</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef std::function<void(<a class="el" href="structmxnet_1_1RunContext.html">RunContext</a>, <a class="el" href="classmxnet_1_1Engine.html#a16b757432556f835d27f1b5e1dbe1b06">CallbackOnComplete</a>)> <a class="el" href="classmxnet_1_1Engine.html#ad41feff70bba0f29fc24f60b5381984c">mxnet::Engine::AsyncFn</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Asynchronous operation to pass to engine. </p> |
| |
| </div> |
| </div> |
| <a id="a16b757432556f835d27f1b5e1dbe1b06"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a16b757432556f835d27f1b5e1dbe1b06">◆ </a></span>CallbackOnComplete</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef <a class="el" href="classmxnet_1_1engine_1_1CallbackOnComplete.html">engine::CallbackOnComplete</a> <a class="el" href="classmxnet_1_1Engine.html#a16b757432556f835d27f1b5e1dbe1b06">mxnet::Engine::CallbackOnComplete</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>callback on complete </p> |
| |
| </div> |
| </div> |
| <a id="a832436e413a075291aa1a631942c3f01"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a832436e413a075291aa1a631942c3f01">◆ </a></span>OprHandle</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef <a class="el" href="namespacemxnet_1_1engine.html#a2d9b14b658e3f3c4e03ca49cd38ace94">engine::OprHandle</a> <a class="el" href="classmxnet_1_1Engine.html#a832436e413a075291aa1a631942c3f01">mxnet::Engine::OprHandle</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p><a class="el" href="classmxnet_1_1Operator.html" title="Operator interface. Operator defines basic operation unit of optimized computation graph in mxnet...">Operator</a> pointer. </p> |
| |
| </div> |
| </div> |
| <a id="a07f30ab85fca436e1bbcc72cd4d8bb35"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a07f30ab85fca436e1bbcc72cd4d8bb35">◆ </a></span>SyncFn</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef std::function<void(<a class="el" href="structmxnet_1_1RunContext.html">RunContext</a>)> <a class="el" href="classmxnet_1_1Engine.html#a07f30ab85fca436e1bbcc72cd4d8bb35">mxnet::Engine::SyncFn</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Synchronous operation to pass to engine. </p> |
| |
| </div> |
| </div> |
| <a id="aac31510c793a12944c33f9cac6150491"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aac31510c793a12944c33f9cac6150491">◆ </a></span>VarHandle</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef <a class="el" href="namespacemxnet_1_1engine.html#a9d36c4f33eae8531586dc2edf83ae7cf">engine::VarHandle</a> <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">mxnet::Engine::VarHandle</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Variable pointer. </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Constructor & Destructor Documentation</h2> |
| <a id="aff025321827e15096c02342225f2395b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aff025321827e15096c02342225f2395b">◆ </a></span>~Engine()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual mxnet::Engine::~Engine </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>virtual destructor </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Function Documentation</h2> |
| <a id="ab6417f2ae519b946c104f975d84d55d5"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab6417f2ae519b946c104f975d84d55d5">◆ </a></span>_GetSharedRef()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static std::shared_ptr<<a class="el" href="classmxnet_1_1Engine.html">Engine</a>> mxnet::Engine::_GetSharedRef </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Get shared pointer reference to engine singleton. Most user should not call this function. This function is called by another singleton X who requires engine to be destructed after X. </p> |
| <dl class="section return"><dt>Returns</dt><dd>A shared pointer to <a class="el" href="classmxnet_1_1Engine.html" title="Dependency engine that schedules operations. ">Engine</a> singleton. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="aa3cc0ead60033689efdc28dba2d3a372"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aa3cc0ead60033689efdc28dba2d3a372">◆ </a></span>bulk_size()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual int mxnet::Engine::bulk_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 class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>query current limit for bulk size </p> |
| |
| </div> |
| </div> |
| <a id="a53659c833b8cac3cbcd15a152275a809"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a53659c833b8cac3cbcd15a152275a809">◆ </a></span>CreateCallback()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classmxnet_1_1Engine.html#a16b757432556f835d27f1b5e1dbe1b06">CallbackOnComplete</a> mxnet::Engine::CreateCallback </td> |
| <td>(</td> |
| <td class="paramtype">void(*)(<a class="el" href="classmxnet_1_1Engine.html">Engine</a> *, void *, const dmlc::Error *) </td> |
| <td class="paramname"><em>callback</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">void * </td> |
| <td class="paramname"><em>param</em> </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>factory function to create OnComplete callback. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">callback</td><td>th static callback function. </td></tr> |
| <tr><td class="paramname">param</td><td>the paramter passed to callback. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a9d8ac1987a6844dba9b0463030fb3430"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a9d8ac1987a6844dba9b0463030fb3430">◆ </a></span>DeduplicateVarHandle()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void mxnet::Engine::DeduplicateVarHandle </td> |
| <td>(</td> |
| <td class="paramtype">std::vector< <a class="el" href="namespacemxnet_1_1engine.html#a9d36c4f33eae8531586dc2edf83ae7cf">engine::VarHandle</a> > * </td> |
| <td class="paramname"><em>read_vars</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">std::vector< <a class="el" href="namespacemxnet_1_1engine.html#a9d36c4f33eae8531586dc2edf83ae7cf">engine::VarHandle</a> > * </td> |
| <td class="paramname"><em>write_vars</em> </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"> |
| |
| </div> |
| </div> |
| <a id="a3fd7c8b35a2f52805506cc242bf82ca7"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a3fd7c8b35a2f52805506cc242bf82ca7">◆ </a></span>DeleteOperator()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual void mxnet::Engine::DeleteOperator </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classmxnet_1_1Engine.html#a832436e413a075291aa1a631942c3f01">OprHandle</a> </td> |
| <td class="paramname"><em>op</em></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>Delete the given operator. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">op</td><td>The operator to delete.</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <p>The delete will not happen immediately, but will wait until all the operations using this operator are completed. </p> |
| |
| </div> |
| </div> |
| <a id="a738e5192dab345ab0ec9888b095903cf"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a738e5192dab345ab0ec9888b095903cf">◆ </a></span>DeleteVariable()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual void mxnet::Engine::DeleteVariable </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classmxnet_1_1Engine.html#a07f30ab85fca436e1bbcc72cd4d8bb35">SyncFn</a> </td> |
| <td class="paramname"><em>delete_fn</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="structmxnet_1_1Context.html">Context</a> </td> |
| <td class="paramname"><em>exec_ctx</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> </td> |
| <td class="paramname"><em>var</em> </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"> |
| |
| <p>Schedule the deletion of a variable. </p> |
| <p>The delete will not happen immediately, but will wait until all the operations depending on var are completed.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">delete_fn</td><td>A function that will be called after the variable is deleted. </td></tr> |
| <tr><td class="paramname">exec_ctx</td><td>Execution context. </td></tr> |
| <tr><td class="paramname">var</td><td>The variable to be deleted. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ae0a23da15ef63d9479c7468e1f2f825f"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ae0a23da15ef63d9479c7468e1f2f825f">◆ </a></span>Get()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static <a class="el" href="classmxnet_1_1Engine.html">Engine</a>* mxnet::Engine::Get </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="section return"><dt>Returns</dt><dd><a class="el" href="classmxnet_1_1Engine.html" title="Dependency engine that schedules operations. ">Engine</a> singleton. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a1aa6dcadfbca86d215366c380310dd57"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a1aa6dcadfbca86d215366c380310dd57">◆ </a></span>NewOperator()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual <a class="el" href="classmxnet_1_1Engine.html#a832436e413a075291aa1a631942c3f01">OprHandle</a> mxnet::Engine::NewOperator </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classmxnet_1_1Engine.html#ad41feff70bba0f29fc24f60b5381984c">AsyncFn</a> </td> |
| <td class="paramname"><em>fn</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const & </td> |
| <td class="paramname"><em>const_vars</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const & </td> |
| <td class="paramname"><em>mutable_vars</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3b">FnProperty</a> </td> |
| <td class="paramname"><em>prop</em> = <code><a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3ba07fa7a19aa722c635a15e94cb7f50416">FnProperty::kNormal</a></code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const char * </td> |
| <td class="paramname"><em>opr_name</em> = <code>nullptr</code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">bool </td> |
| <td class="paramname"><em>wait</em> = <code>false</code> </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"> |
| |
| <p>Create a new operator. The returned operator could be saved externally so that it could be resued for scheduling. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">fn</td><td>The execution function. </td></tr> |
| <tr><td class="paramname">const_vars</td><td>The variables that current operation will use but not mutate. </td></tr> |
| <tr><td class="paramname">mutable_vars</td><td>The variables that current operation will mutate. </td></tr> |
| <tr><td class="paramname">prop</td><td>Property of the function. </td></tr> |
| <tr><td class="paramname">opr_name</td><td>The operator name. </td></tr> |
| <tr><td class="paramname">wait</td><td>Whether this is a WaitForVar operation </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>The new operator allocated. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a6e141b188f018d5d933ab99868631d5e"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a6e141b188f018d5d933ab99868631d5e">◆ </a></span>NewVariable()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> mxnet::Engine::NewVariable </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>Allocate a new variable, the variable can then be used to schedule the operation concurrently via dependency patterns. </p> |
| <dl class="section return"><dt>Returns</dt><dd>The new variable allocated. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a3c0e2989538b5369c1592eddbcf0181c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a3c0e2989538b5369c1592eddbcf0181c">◆ </a></span>NotifyShutdown()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual void mxnet::Engine::NotifyShutdown </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>Notify the engine about a shutdown, This can help engine to print less messages into display. </p> |
| <p>User do not have to call this function. </p><dl class="section return"><dt>Returns</dt><dd>0 when success, -1 when failure happens. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ad213d6b1a7c1e0d4d41275b9efe5f097"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ad213d6b1a7c1e0d4d41275b9efe5f097">◆ </a></span>Push()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual void mxnet::Engine::Push </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classmxnet_1_1Engine.html#a832436e413a075291aa1a631942c3f01">OprHandle</a> </td> |
| <td class="paramname"><em>op</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="structmxnet_1_1Context.html">Context</a> </td> |
| <td class="paramname"><em>exec_ctx</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>priority</em> = <code>0</code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">bool </td> |
| <td class="paramname"><em>profiling</em> = <code>false</code> </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"> |
| |
| <p>Push an operator to the engine. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">op</td><td>The operator to push. </td></tr> |
| <tr><td class="paramname">exec_ctx</td><td>Execution context. </td></tr> |
| <tr><td class="paramname">priority</td><td>Priority of the action, as hint to the engine. </td></tr> |
| <tr><td class="paramname">profiling</td><td>The variable indicate whether to profile this operator. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="afbdd4887c046e05aabe9272d0a0953a7"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#afbdd4887c046e05aabe9272d0a0953a7">◆ </a></span>PushAsync()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual void mxnet::Engine::PushAsync </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classmxnet_1_1Engine.html#ad41feff70bba0f29fc24f60b5381984c">AsyncFn</a> </td> |
| <td class="paramname"><em>exec_fun</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="structmxnet_1_1Context.html">Context</a> </td> |
| <td class="paramname"><em>exec_ctx</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const & </td> |
| <td class="paramname"><em>const_vars</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const & </td> |
| <td class="paramname"><em>mutable_vars</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3b">FnProperty</a> </td> |
| <td class="paramname"><em>prop</em> = <code><a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3ba07fa7a19aa722c635a15e94cb7f50416">FnProperty::kNormal</a></code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>priority</em> = <code>0</code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const char * </td> |
| <td class="paramname"><em>opr_name</em> = <code>nullptr</code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">bool </td> |
| <td class="paramname"><em>wait</em> = <code>false</code> </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"> |
| |
| <p>Push an asynchronous operation to the engine. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">exec_fun</td><td>Execution function, this function takes a parameter on_complete that must be called when the execution completes. </td></tr> |
| <tr><td class="paramname">exec_ctx</td><td>Execution context. </td></tr> |
| <tr><td class="paramname">const_vars</td><td>The variables that current operation will use but not mutate. </td></tr> |
| <tr><td class="paramname">mutable_vars</td><td>The variables that current operation will mutate. </td></tr> |
| <tr><td class="paramname">prop</td><td>Property of the function. </td></tr> |
| <tr><td class="paramname">priority</td><td>Priority of the action, as hint to the engine. </td></tr> |
| <tr><td class="paramname">opr_name</td><td>The operator name. </td></tr> |
| <tr><td class="paramname">wait</td><td>Whether this is a WaitForVar operation </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ac4c1d74e906699cf074a34dfdc968d8c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ac4c1d74e906699cf074a34dfdc968d8c">◆ </a></span>PushSync()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual void mxnet::Engine::PushSync </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classmxnet_1_1Engine.html#a07f30ab85fca436e1bbcc72cd4d8bb35">SyncFn</a> </td> |
| <td class="paramname"><em>exec_fn</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="structmxnet_1_1Context.html">Context</a> </td> |
| <td class="paramname"><em>exec_ctx</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const & </td> |
| <td class="paramname"><em>const_vars</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">std::vector< <a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> > const & </td> |
| <td class="paramname"><em>mutable_vars</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3b">FnProperty</a> </td> |
| <td class="paramname"><em>prop</em> = <code><a class="el" href="namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3ba07fa7a19aa722c635a15e94cb7f50416">FnProperty::kNormal</a></code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>priority</em> = <code>0</code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const char * </td> |
| <td class="paramname"><em>opr_name</em> = <code>nullptr</code> </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 class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Push an synchronous operation to the engine. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">exec_fn</td><td>Execution function that executes the operation. </td></tr> |
| <tr><td class="paramname">exec_ctx</td><td>Execution context. </td></tr> |
| <tr><td class="paramname">const_vars</td><td>The variables that current operation will use but not mutate. </td></tr> |
| <tr><td class="paramname">mutable_vars</td><td>The variables that current operation will mutate. </td></tr> |
| <tr><td class="paramname">prop</td><td>Property of the function. </td></tr> |
| <tr><td class="paramname">priority</td><td>Priority of the action, as hint to the engine. </td></tr> |
| <tr><td class="paramname">opr_name</td><td>The operator name. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="tparams"><dt>Template Parameters</dt><dd> |
| <table class="tparams"> |
| <tr><td class="paramname">SyncFn</td><td>the synchronous function to be pushed. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ac33a02d6827b43c27c04371d8ef04ef4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ac33a02d6827b43c27c04371d8ef04ef4">◆ </a></span>set_bulk_size()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual int mxnet::Engine::set_bulk_size </td> |
| <td>(</td> |
| <td class="paramtype">int </td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>set maximum limit for bulk size </p> |
| |
| </div> |
| </div> |
| <a id="a136a1d60db77a0846faa8462d0fb6237"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a136a1d60db77a0846faa8462d0fb6237">◆ </a></span>Start()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual void mxnet::Engine::Start </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Restart all workers in the engine. </p> |
| |
| </div> |
| </div> |
| <a id="a30f8947a7a1ad86b4c2cdb5b15b6d1e1"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a30f8947a7a1ad86b4c2cdb5b15b6d1e1">◆ </a></span>Stop()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual void mxnet::Engine::Stop </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Stop all workers in the engine. </p> |
| |
| </div> |
| </div> |
| <a id="a80ce63b0c9d088e528b8220f292b5fd6"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a80ce63b0c9d088e528b8220f292b5fd6">◆ </a></span>Throw()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual void mxnet::Engine::Throw </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> </td> |
| <td class="paramname"><em>var</em></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>Throw if threre are associated exception with var. </p> |
| |
| </div> |
| </div> |
| <a id="a64483aecce780e96056be89d6289e782"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a64483aecce780e96056be89d6289e782">◆ </a></span>WaitForAll()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual void mxnet::Engine::WaitForAll </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>Wait until all the activity of engine finishes. </p> |
| |
| </div> |
| </div> |
| <a id="aed51bd7f294d9f2b569764a0c151d883"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aed51bd7f294d9f2b569764a0c151d883">◆ </a></span>WaitForVar()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual void mxnet::Engine::WaitForVar </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classmxnet_1_1Engine.html#aac31510c793a12944c33f9cac6150491">VarHandle</a> </td> |
| <td class="paramname"><em>var</em></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>Wait for a variable. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">var</td><td>The variable we should wait for. This function returns when the variable is ready. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <hr/>The documentation for this class was generated from the following file:<ul> |
| <li>/work/mxnet/include/mxnet/<a class="el" href="engine_8h_source.html">engine.h</a></li> |
| </ul> |
| </div><!-- contents --> |
| <!-- start footer part --> |
| <hr class="footer"/><address class="footer"><small> |
| Generated on Thu Apr 28 2022 17:47:37 for mxnet by  <a href="http://www.doxygen.org/index.html"> |
| <img class="footer" src="doxygen.png" alt="doxygen"/> |
| </a> 1.8.13 |
| </small></address> |
| </body> |
| </html> |