mirror of
https://github.com/ml-explore/mlx.git
synced 2025-11-06 12:09:43 +08:00
rebase
This commit is contained in:
88
docs/build/html/common_2ternary_8h_source.html
vendored
88
docs/build/html/common_2ternary_8h_source.html
vendored
@@ -143,76 +143,70 @@ $(function(){initNavTree('common_2ternary_8h_source.html',''); initResizable(tru
|
||||
</div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
|
||||
<div class="foldopen" id="foldopen00034" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a6f4528d0d338ea5e1f19d345875c26a2"> 34</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="namespacemlx_1_1core.html#a6f4528d0d338ea5e1f19d345875c26a2">set_ternary_op_output_data</a>(</div>
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#ae159e1f9193c12eff9a56dfceb1502ef"> 34</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="namespacemlx_1_1core.html#ae159e1f9193c12eff9a56dfceb1502ef">set_ternary_op_output_data</a>(</div>
|
||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>& a,</div>
|
||||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>& b,</div>
|
||||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>& c,</div>
|
||||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>& out,</div>
|
||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_enumeration" href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1">TernaryOpType</a> topt,</div>
|
||||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">bool</span> donate_with_move = <span class="keyword">false</span>) {</div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">auto</span> maybe_donate = [&out, donate_with_move](<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>& x) {</div>
|
||||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespacemlx_1_1core.html#af650e831ce21759da1ac103037d08d84">is_donatable</a>(x, out)) {</div>
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">if</span> (donate_with_move) {</div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#ad41cc5e7aebfcad849ad15d697584cf8">move_shared_buffer</a>(x);</div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#ad2814dbffa5ad174d9c97a10bf4cf26b">copy_shared_buffer</a>(x);</div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> }</div>
|
||||
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> }</div>
|
||||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> };</div>
|
||||
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">switch</span> (topt) {</div>
|
||||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1a09c2e68746fa22c9903625cea17464db">TernaryOpType::ScalarScalarScalar</a>:</div>
|
||||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#af9e3a02b4c0023c36248dc75c887214f">set_data</a>(</div>
|
||||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_function" href="namespacemlx_1_1core_1_1allocator.html#a86ac0a11ff78f21e717f641716c34abc">allocator::malloc_or_wait</a>(out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#af329d9432c92de87cbaa2de8454eefc0">itemsize</a>()), 1, b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a28cf1928f5ec2f972a94ff1c0e71187d">strides</a>(), b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">flags</a>());</div>
|
||||
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1acbcaeeb0e232871afe48bcf063a14b42">TernaryOpType::VectorVectorVector</a>:</div>
|
||||
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">if</span> (!(maybe_donate(a) || maybe_donate(b) || maybe_donate(c))) {</div>
|
||||
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#af9e3a02b4c0023c36248dc75c887214f">set_data</a>(</div>
|
||||
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <a class="code hl_function" href="namespacemlx_1_1core_1_1allocator.html#a86ac0a11ff78f21e717f641716c34abc">allocator::malloc_or_wait</a>(out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#af329d9432c92de87cbaa2de8454eefc0">itemsize</a>() * b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#afaf2a370fa35d96af1b27a4b814e3bfd">data_size</a>()),</div>
|
||||
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#afaf2a370fa35d96af1b27a4b814e3bfd">data_size</a>(),</div>
|
||||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a28cf1928f5ec2f972a94ff1c0e71187d">strides</a>(),</div>
|
||||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">flags</a>());</div>
|
||||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> }</div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1a0db377921f4ce762c62526131097968f">TernaryOpType::General</a>:</div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="comment">// Try to donate an input which is row_contiguous</span></div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span> (!((a.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">flags</a>().<a class="code hl_variable" href="structmlx_1_1core_1_1array_1_1_flags.html#a3170fa381dc7a90f6eabcc029bdf9bfd">row_contiguous</a> && maybe_donate(a)) ||</div>
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> (b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">flags</a>().<a class="code hl_variable" href="structmlx_1_1core_1_1array_1_1_flags.html#a3170fa381dc7a90f6eabcc029bdf9bfd">row_contiguous</a> && maybe_donate(b)) ||</div>
|
||||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> (c.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">flags</a>().<a class="code hl_variable" href="structmlx_1_1core_1_1array_1_1_flags.html#a3170fa381dc7a90f6eabcc029bdf9bfd">row_contiguous</a> && maybe_donate(c)))) {</div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#af9e3a02b4c0023c36248dc75c887214f">set_data</a>(<a class="code hl_function" href="namespacemlx_1_1core_1_1allocator.html#a86ac0a11ff78f21e717f641716c34abc">allocator::malloc_or_wait</a>(out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a387b67cd3ef5cfc1e749c371766c4a05">nbytes</a>()));</div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> }</div>
|
||||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> }</div>
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span>}</div>
|
||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_enumeration" href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1">TernaryOpType</a> topt) {</div>
|
||||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">auto</span> maybe_donate = [&out](<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>& x) {</div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespacemlx_1_1core.html#af650e831ce21759da1ac103037d08d84">is_donatable</a>(x, out)) {</div>
|
||||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#ad2814dbffa5ad174d9c97a10bf4cf26b">copy_shared_buffer</a>(x);</div>
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> }</div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> };</div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
|
||||
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">switch</span> (topt) {</div>
|
||||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1a09c2e68746fa22c9903625cea17464db">TernaryOpType::ScalarScalarScalar</a>:</div>
|
||||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#af9e3a02b4c0023c36248dc75c887214f">set_data</a>(</div>
|
||||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_function" href="namespacemlx_1_1core_1_1allocator.html#a86ac0a11ff78f21e717f641716c34abc">allocator::malloc_or_wait</a>(out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#af329d9432c92de87cbaa2de8454eefc0">itemsize</a>()), 1, b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a28cf1928f5ec2f972a94ff1c0e71187d">strides</a>(), b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">flags</a>());</div>
|
||||
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1acbcaeeb0e232871afe48bcf063a14b42">TernaryOpType::VectorVectorVector</a>:</div>
|
||||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">if</span> (!(maybe_donate(a) || maybe_donate(b) || maybe_donate(c))) {</div>
|
||||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#af9e3a02b4c0023c36248dc75c887214f">set_data</a>(</div>
|
||||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_function" href="namespacemlx_1_1core_1_1allocator.html#a86ac0a11ff78f21e717f641716c34abc">allocator::malloc_or_wait</a>(out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#af329d9432c92de87cbaa2de8454eefc0">itemsize</a>() * b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#afaf2a370fa35d96af1b27a4b814e3bfd">data_size</a>()),</div>
|
||||
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#afaf2a370fa35d96af1b27a4b814e3bfd">data_size</a>(),</div>
|
||||
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a28cf1928f5ec2f972a94ff1c0e71187d">strides</a>(),</div>
|
||||
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">flags</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> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1a0db377921f4ce762c62526131097968f">TernaryOpType::General</a>:</div>
|
||||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="comment">// Try to donate an input which is row_contiguous</span></div>
|
||||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">if</span> (!((a.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">flags</a>().<a class="code hl_variable" href="structmlx_1_1core_1_1array_1_1_flags.html#a3170fa381dc7a90f6eabcc029bdf9bfd">row_contiguous</a> && maybe_donate(a)) ||</div>
|
||||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> (b.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">flags</a>().<a class="code hl_variable" href="structmlx_1_1core_1_1array_1_1_flags.html#a3170fa381dc7a90f6eabcc029bdf9bfd">row_contiguous</a> && maybe_donate(b)) ||</div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> (c.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">flags</a>().<a class="code hl_variable" href="structmlx_1_1core_1_1array_1_1_flags.html#a3170fa381dc7a90f6eabcc029bdf9bfd">row_contiguous</a> && maybe_donate(c)))) {</div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#af9e3a02b4c0023c36248dc75c887214f">set_data</a>(<a class="code hl_function" href="namespacemlx_1_1core_1_1allocator.html#a86ac0a11ff78f21e717f641716c34abc">allocator::malloc_or_wait</a>(out.<a class="code hl_function" href="classmlx_1_1core_1_1array.html#a387b67cd3ef5cfc1e749c371766c4a05">nbytes</a>()));</div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> }</div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> }</div>
|
||||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
|
||||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span>} <span class="comment">// namespace mlx::core</span></div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span>} <span class="comment">// namespace mlx::core</span></div>
|
||||
<div class="ttc" id="aallocator_8h_html"><div class="ttname"><a href="allocator_8h.html">allocator.h</a></div></div>
|
||||
<div class="ttc" id="aarray_8h_html"><div class="ttname"><a href="array_8h.html">array.h</a></div></div>
|
||||
<div class="ttc" id="abackend_2common_2utils_8h_html"><div class="ttname"><a href="backend_2common_2utils_8h.html">utils.h</a></div></div>
|
||||
<div class="ttc" id="aclassmlx_1_1core_1_1array_html"><div class="ttname"><a href="classmlx_1_1core_1_1array.html">mlx::core::array</a></div><div class="ttdef"><b>Definition</b> array.h:24</div></div>
|
||||
<div class="ttc" id="aclassmlx_1_1core_1_1array_html_a0a20a6065ae71b64c1e3aa22a45fd8a1"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">mlx::core::array::flags</a></div><div class="ttdeci">const Flags & flags() const</div><div class="ttdoc">Get the Flags bit-field.</div><div class="ttdef"><b>Definition</b> array.h:318</div></div>
|
||||
<div class="ttc" id="aclassmlx_1_1core_1_1array_html_a0a20a6065ae71b64c1e3aa22a45fd8a1"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#a0a20a6065ae71b64c1e3aa22a45fd8a1">mlx::core::array::flags</a></div><div class="ttdeci">const Flags & flags() const</div><div class="ttdoc">Get the Flags bit-field.</div><div class="ttdef"><b>Definition</b> array.h:313</div></div>
|
||||
<div class="ttc" id="aclassmlx_1_1core_1_1array_html_a28cf1928f5ec2f972a94ff1c0e71187d"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#a28cf1928f5ec2f972a94ff1c0e71187d">mlx::core::array::strides</a></div><div class="ttdeci">const Strides & strides() const</div><div class="ttdoc">The strides of the array.</div><div class="ttdef"><b>Definition</b> array.h:117</div></div>
|
||||
<div class="ttc" id="aclassmlx_1_1core_1_1array_html_a387b67cd3ef5cfc1e749c371766c4a05"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#a387b67cd3ef5cfc1e749c371766c4a05">mlx::core::array::nbytes</a></div><div class="ttdeci">size_t nbytes() const</div><div class="ttdoc">The number of bytes in the array.</div><div class="ttdef"><b>Definition</b> array.h:93</div></div>
|
||||
<div class="ttc" id="aclassmlx_1_1core_1_1array_html_ad2814dbffa5ad174d9c97a10bf4cf26b"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#ad2814dbffa5ad174d9c97a10bf4cf26b">mlx::core::array::copy_shared_buffer</a></div><div class="ttdeci">void copy_shared_buffer(const array &other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)</div></div>
|
||||
<div class="ttc" id="aclassmlx_1_1core_1_1array_html_ad41cc5e7aebfcad849ad15d697584cf8"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#ad41cc5e7aebfcad849ad15d697584cf8">mlx::core::array::move_shared_buffer</a></div><div class="ttdeci">void move_shared_buffer(array other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)</div></div>
|
||||
<div class="ttc" id="aclassmlx_1_1core_1_1array_html_af329d9432c92de87cbaa2de8454eefc0"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#af329d9432c92de87cbaa2de8454eefc0">mlx::core::array::itemsize</a></div><div class="ttdeci">size_t itemsize() const</div><div class="ttdoc">The size of the array's datatype in bytes.</div><div class="ttdef"><b>Definition</b> array.h:83</div></div>
|
||||
<div class="ttc" id="aclassmlx_1_1core_1_1array_html_af9e3a02b4c0023c36248dc75c887214f"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#af9e3a02b4c0023c36248dc75c887214f">mlx::core::array::set_data</a></div><div class="ttdeci">void set_data(allocator::Buffer buffer, Deleter d=allocator::free)</div></div>
|
||||
<div class="ttc" id="aclassmlx_1_1core_1_1array_html_afaf2a370fa35d96af1b27a4b814e3bfd"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#afaf2a370fa35d96af1b27a4b814e3bfd">mlx::core::array::data_size</a></div><div class="ttdeci">size_t data_size() const</div><div class="ttdoc">The size (in elements) of the underlying buffer the array points to.</div><div class="ttdef"><b>Definition</b> array.h:332</div></div>
|
||||
<div class="ttc" id="aclassmlx_1_1core_1_1array_html_afaf2a370fa35d96af1b27a4b814e3bfd"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#afaf2a370fa35d96af1b27a4b814e3bfd">mlx::core::array::data_size</a></div><div class="ttdeci">size_t data_size() const</div><div class="ttdoc">The size (in elements) of the underlying buffer the array points to.</div><div class="ttdef"><b>Definition</b> array.h:327</div></div>
|
||||
<div class="ttc" id="anamespacemlx_1_1core_1_1allocator_html_a86ac0a11ff78f21e717f641716c34abc"><div class="ttname"><a href="namespacemlx_1_1core_1_1allocator.html#a86ac0a11ff78f21e717f641716c34abc">mlx::core::allocator::malloc_or_wait</a></div><div class="ttdeci">Buffer malloc_or_wait(size_t size)</div></div>
|
||||
<div class="ttc" id="anamespacemlx_1_1core_html"><div class="ttname"><a href="namespacemlx_1_1core.html">mlx::core</a></div><div class="ttdef"><b>Definition</b> allocator.h:7</div></div>
|
||||
<div class="ttc" id="anamespacemlx_1_1core_html_a546e3d3c8957fbf2758f9504f4a2d0b6a0db377921f4ce762c62526131097968f"><div class="ttname"><a href="namespacemlx_1_1core.html#a546e3d3c8957fbf2758f9504f4a2d0b6a0db377921f4ce762c62526131097968f">mlx::core::BinaryOpType::General</a></div><div class="ttdeci">@ General</div><div class="ttdef"><b>Definition</b> binary.h:16</div></div>
|
||||
<div class="ttc" id="anamespacemlx_1_1core_html_a548b6f4a39e639c18896e50b1702c830"><div class="ttname"><a href="namespacemlx_1_1core.html#a548b6f4a39e639c18896e50b1702c830">mlx::core::get_ternary_op_type</a></div><div class="ttdeci">TernaryOpType get_ternary_op_type(const array &a, const array &b, const array &c)</div><div class="ttdef"><b>Definition</b> ternary.h:18</div></div>
|
||||
<div class="ttc" id="anamespacemlx_1_1core_html_a6f4528d0d338ea5e1f19d345875c26a2"><div class="ttname"><a href="namespacemlx_1_1core.html#a6f4528d0d338ea5e1f19d345875c26a2">mlx::core::set_ternary_op_output_data</a></div><div class="ttdeci">void set_ternary_op_output_data(const array &a, const array &b, const array &c, array &out, TernaryOpType topt, bool donate_with_move=false)</div><div class="ttdef"><b>Definition</b> ternary.h:34</div></div>
|
||||
<div class="ttc" id="anamespacemlx_1_1core_html_ac2b8997537c7f25dd2b244d4c0a865a1"><div class="ttname"><a href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1">mlx::core::TernaryOpType</a></div><div class="ttdeci">TernaryOpType</div><div class="ttdef"><b>Definition</b> ternary.h:11</div></div>
|
||||
<div class="ttc" id="anamespacemlx_1_1core_html_ac2b8997537c7f25dd2b244d4c0a865a1a09c2e68746fa22c9903625cea17464db"><div class="ttname"><a href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1a09c2e68746fa22c9903625cea17464db">mlx::core::TernaryOpType::ScalarScalarScalar</a></div><div class="ttdeci">@ ScalarScalarScalar</div><div class="ttdef"><b>Definition</b> ternary.h:12</div></div>
|
||||
<div class="ttc" id="anamespacemlx_1_1core_html_ac2b8997537c7f25dd2b244d4c0a865a1a0db377921f4ce762c62526131097968f"><div class="ttname"><a href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1a0db377921f4ce762c62526131097968f">mlx::core::TernaryOpType::General</a></div><div class="ttdeci">@ General</div><div class="ttdef"><b>Definition</b> ternary.h:14</div></div>
|
||||
<div class="ttc" id="anamespacemlx_1_1core_html_ac2b8997537c7f25dd2b244d4c0a865a1acbcaeeb0e232871afe48bcf063a14b42"><div class="ttname"><a href="namespacemlx_1_1core.html#ac2b8997537c7f25dd2b244d4c0a865a1acbcaeeb0e232871afe48bcf063a14b42">mlx::core::TernaryOpType::VectorVectorVector</a></div><div class="ttdeci">@ VectorVectorVector</div><div class="ttdef"><b>Definition</b> ternary.h:13</div></div>
|
||||
<div class="ttc" id="anamespacemlx_1_1core_html_ae159e1f9193c12eff9a56dfceb1502ef"><div class="ttname"><a href="namespacemlx_1_1core.html#ae159e1f9193c12eff9a56dfceb1502ef">mlx::core::set_ternary_op_output_data</a></div><div class="ttdeci">void set_ternary_op_output_data(const array &a, const array &b, const array &c, array &out, TernaryOpType topt)</div><div class="ttdef"><b>Definition</b> ternary.h:34</div></div>
|
||||
<div class="ttc" id="anamespacemlx_1_1core_html_af650e831ce21759da1ac103037d08d84"><div class="ttname"><a href="namespacemlx_1_1core.html#af650e831ce21759da1ac103037d08d84">mlx::core::is_donatable</a></div><div class="ttdeci">bool is_donatable(const array &in, const array &out)</div><div class="ttdef"><b>Definition</b> utils.h:155</div></div>
|
||||
<div class="ttc" id="astructmlx_1_1core_1_1array_1_1_flags_html_a3170fa381dc7a90f6eabcc029bdf9bfd"><div class="ttname"><a href="structmlx_1_1core_1_1array_1_1_flags.html#a3170fa381dc7a90f6eabcc029bdf9bfd">mlx::core::array::Flags::row_contiguous</a></div><div class="ttdeci">bool row_contiguous</div><div class="ttdef"><b>Definition</b> array.h:237</div></div>
|
||||
<div class="ttc" id="astructmlx_1_1core_1_1array_1_1_flags_html_ae24709026598d635e6b5c24a15f8a802"><div class="ttname"><a href="structmlx_1_1core_1_1array_1_1_flags.html#ae24709026598d635e6b5c24a15f8a802">mlx::core::array::Flags::col_contiguous</a></div><div class="ttdeci">bool col_contiguous</div><div class="ttdef"><b>Definition</b> array.h:243</div></div>
|
||||
<div class="ttc" id="astructmlx_1_1core_1_1array_1_1_flags_html_a3170fa381dc7a90f6eabcc029bdf9bfd"><div class="ttname"><a href="structmlx_1_1core_1_1array_1_1_flags.html#a3170fa381dc7a90f6eabcc029bdf9bfd">mlx::core::array::Flags::row_contiguous</a></div><div class="ttdeci">bool row_contiguous</div><div class="ttdef"><b>Definition</b> array.h:244</div></div>
|
||||
<div class="ttc" id="astructmlx_1_1core_1_1array_1_1_flags_html_ae24709026598d635e6b5c24a15f8a802"><div class="ttname"><a href="structmlx_1_1core_1_1array_1_1_flags.html#ae24709026598d635e6b5c24a15f8a802">mlx::core::array::Flags::col_contiguous</a></div><div class="ttdeci">bool col_contiguous</div><div class="ttdef"><b>Definition</b> array.h:250</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
|
||||
Reference in New Issue
Block a user