docs update

This commit is contained in:
Awni Hannun
2024-07-11 15:32:08 -07:00
committed by CircleCI Docs
parent 85f70be0e6
commit 0ec311dff3
754 changed files with 24043 additions and 13535 deletions

View File

@@ -121,7 +121,7 @@ $(function() { codefold.init(0); });
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a71de50591388b6e2cc6c57827e1a1ad4"> 31</a></span> <a class="code hl_function" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a71de50591388b6e2cc6c57827e1a1ad4">~StreamThread</a>() {</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_function" href="namespacemlx_1_1core.html#a14287949d82ffefad0306cef5eb5f9e4">synchronize</a>(<a class="code hl_variable" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a8462e4acffcd385c6248bd7102e6bcb1">stream</a>);</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> {</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> std::unique_lock&lt;std::mutex&gt; lk(<a class="code hl_variable" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a70410c9e612f871663929f1e8441a976">mtx</a>);</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> std::lock_guard&lt;std::mutex&gt; lk(<a class="code hl_variable" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a70410c9e612f871663929f1e8441a976">mtx</a>);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <a class="code hl_variable" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a456ad1c0c9e731833a2f8411c4ed51aa">stop</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> }</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_variable" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a4ffd524d6a5bedd1a303b63bdde6701c">cond</a>.notify_one();</div>
@@ -152,7 +152,7 @@ $(function() { codefold.init(0); });
<div class="foldopen" id="foldopen00059" data-start="{" data-end="}">
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a4918720319cf224a1b4208568964c286"> 59</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a4918720319cf224a1b4208568964c286">enqueue</a>(F&amp;&amp; <a class="code hl_variable" href="types_2bf16_8h.html#af900396d7b72ff2a7002e8befe8cf8f1">f</a>) {</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> {</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> std::unique_lock&lt;std::mutex&gt; lk(<a class="code hl_variable" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a70410c9e612f871663929f1e8441a976">mtx</a>);</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> std::lock_guard&lt;std::mutex&gt; lk(<a class="code hl_variable" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a70410c9e612f871663929f1e8441a976">mtx</a>);</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a456ad1c0c9e731833a2f8411c4ed51aa">stop</a>) {</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">throw</span> std::runtime_error(</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">&quot;Cannot enqueue work after stream is stopped.&quot;</span>);</div>
@@ -195,7 +195,7 @@ $(function() { codefold.init(0); });
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a03809c783bd1866362dc7cb9118abbcc">enqueue</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_stream.html">Stream</a>&amp; stream, F&amp;&amp; <a class="code hl_variable" href="types_2bf16_8h.html#af900396d7b72ff2a7002e8befe8cf8f1">f</a>);</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="foldopen" id="foldopen00096" data-start="{" data-end="}">
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#af4e49f6271df08bfe7ed7ba7cd960213"> 96</a></span> <a class="code hl_struct" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="code hl_function" href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#af4e49f6271df08bfe7ed7ba7cd960213">get_default_stream</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_device.html">Device</a>&amp; d) {</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a2366c7b888e433608e203752edc92282"> 96</a></span> <a class="code hl_struct" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="code hl_function" href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a2366c7b888e433608e203752edc92282">get_default_stream</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_device.html">Device</a>&amp; d)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> default_streams_.at(d.<a class="code hl_variable" href="structmlx_1_1core_1_1_device.html#a763264ec90f7f23c5dced36c3f0db2e5">type</a>);</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> }</div>
</div>
@@ -209,7 +209,7 @@ $(function() { codefold.init(0); });
<div class="foldopen" id="foldopen00104" data-start="{" data-end="}">
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#ae8aa34a9be8bc73508dd500000421173"> 104</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#ae8aa34a9be8bc73508dd500000421173">notify_new_task</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_stream.html">Stream</a>&amp; stream) {</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> {</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> std::unique_lock&lt;std::mutex&gt; lk(mtx);</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> std::lock_guard&lt;std::mutex&gt; lk(mtx);</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> n_active_tasks_++;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> }</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> completion_cv.notify_all();</div>
@@ -219,7 +219,7 @@ $(function() { codefold.init(0); });
<div class="foldopen" id="foldopen00112" data-start="{" data-end="}">
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#abbb2b1c2f8bae2b9c7cc51db65f18a3b"> 112</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#abbb2b1c2f8bae2b9c7cc51db65f18a3b">notify_task_completion</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_stream.html">Stream</a>&amp; stream) {</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> {</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> std::unique_lock&lt;std::mutex&gt; lk(mtx);</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> std::lock_guard&lt;std::mutex&gt; lk(mtx);</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> n_active_tasks_--;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> }</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> completion_cv.notify_all();</div>
@@ -308,6 +308,7 @@ $(function() { codefold.init(0); });
<div class="ttc" id="aclassmlx_1_1core_1_1scheduler_1_1_scheduler_html_a035ea35f4dd8ee985973080f14029379"><div class="ttname"><a href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a035ea35f4dd8ee985973080f14029379">mlx::core::scheduler::Scheduler::operator=</a></div><div class="ttdeci">Scheduler &amp; operator=(Scheduler &amp;&amp;)=delete</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1scheduler_1_1_scheduler_html_a03809c783bd1866362dc7cb9118abbcc"><div class="ttname"><a href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a03809c783bd1866362dc7cb9118abbcc">mlx::core::scheduler::Scheduler::enqueue</a></div><div class="ttdeci">void enqueue(const Stream &amp;stream, F &amp;&amp;f)</div><div class="ttdef"><b>Definition</b> scheduler.h:149</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1scheduler_1_1_scheduler_html_a157c8da85fa1bddb8eacf8515a3cc879"><div class="ttname"><a href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a157c8da85fa1bddb8eacf8515a3cc879">mlx::core::scheduler::Scheduler::new_stream</a></div><div class="ttdeci">Stream new_stream(const Device &amp;d)</div><div class="ttdef"><b>Definition</b> scheduler.h:87</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1scheduler_1_1_scheduler_html_a2366c7b888e433608e203752edc92282"><div class="ttname"><a href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a2366c7b888e433608e203752edc92282">mlx::core::scheduler::Scheduler::get_default_stream</a></div><div class="ttdeci">Stream get_default_stream(const Device &amp;d) const</div><div class="ttdef"><b>Definition</b> scheduler.h:96</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1scheduler_1_1_scheduler_html_a3ae42aed78a2200e9d02776fcd2316ba"><div class="ttname"><a href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a3ae42aed78a2200e9d02776fcd2316ba">mlx::core::scheduler::Scheduler::Scheduler</a></div><div class="ttdeci">Scheduler()</div><div class="ttdef"><b>Definition</b> scheduler.h:74</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1scheduler_1_1_scheduler_html_a3c9fa21442974acba3409d49bb033131"><div class="ttname"><a href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a3c9fa21442974acba3409d49bb033131">mlx::core::scheduler::Scheduler::n_active_tasks</a></div><div class="ttdeci">int n_active_tasks() const</div><div class="ttdef"><b>Definition</b> scheduler.h:120</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1scheduler_1_1_scheduler_html_a61a74e3628899e66dde600e24a750648"><div class="ttname"><a href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a61a74e3628899e66dde600e24a750648">mlx::core::scheduler::Scheduler::Scheduler</a></div><div class="ttdeci">Scheduler(const Scheduler &amp;)=delete</div></div>
@@ -317,7 +318,6 @@ $(function() { codefold.init(0); });
<div class="ttc" id="aclassmlx_1_1core_1_1scheduler_1_1_scheduler_html_abbb2b1c2f8bae2b9c7cc51db65f18a3b"><div class="ttname"><a href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#abbb2b1c2f8bae2b9c7cc51db65f18a3b">mlx::core::scheduler::Scheduler::notify_task_completion</a></div><div class="ttdeci">void notify_task_completion(const Stream &amp;stream)</div><div class="ttdef"><b>Definition</b> scheduler.h:112</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1scheduler_1_1_scheduler_html_ac3f77b7c93220dadd0b3bb2e903b7059"><div class="ttname"><a href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#ac3f77b7c93220dadd0b3bb2e903b7059">mlx::core::scheduler::Scheduler::Scheduler</a></div><div class="ttdeci">Scheduler(Scheduler &amp;&amp;)=delete</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1scheduler_1_1_scheduler_html_ae8aa34a9be8bc73508dd500000421173"><div class="ttname"><a href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#ae8aa34a9be8bc73508dd500000421173">mlx::core::scheduler::Scheduler::notify_new_task</a></div><div class="ttdeci">void notify_new_task(const Stream &amp;stream)</div><div class="ttdef"><b>Definition</b> scheduler.h:104</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1scheduler_1_1_scheduler_html_af4e49f6271df08bfe7ed7ba7cd960213"><div class="ttname"><a href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html#af4e49f6271df08bfe7ed7ba7cd960213">mlx::core::scheduler::Scheduler::get_default_stream</a></div><div class="ttdeci">Stream get_default_stream(const Device &amp;d)</div><div class="ttdef"><b>Definition</b> scheduler.h:96</div></div>
<div class="ttc" id="adevice_8h_html"><div class="ttname"><a href="device_8h.html">device.h</a></div></div>
<div class="ttc" id="ametal_8h_html"><div class="ttname"><a href="metal_8h.html">metal.h</a></div></div>
<div class="ttc" id="ametal__impl_8h_html"><div class="ttname"><a href="metal__impl_8h.html">metal_impl.h</a></div></div>