This commit is contained in:
CircleCI Docs
2024-10-18 19:13:44 +00:00
parent 69fcd40979
commit 57e53f85ee
590 changed files with 10972 additions and 5085 deletions

View File

@@ -93,21 +93,21 @@ $(function(){ initResizable(false); });
<div class="contents">
<a href="metal_2kernels_2unary_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">// Copyright © 2024 Apple Inc.</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Op&gt;</div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, <span class="keyword">typename</span> Op&gt;</div>
<div class="foldopen" id="foldopen00004" data-start="{" data-end="}">
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#ada52df4976078091cd7b47c152f326fb"> 4</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#ada52df4976078091cd7b47c152f326fb">unary_v</a>(</div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#a64e4f6737edddb72122e262977ee3014"> 4</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#a64e4f6737edddb72122e262977ee3014">unary_v</a>(</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> device <span class="keyword">const</span> T* in,</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> device T* out,</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> device U* out,</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> uint index [[thread_position_in_grid]]) {</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> out[index] = Op()(in[index]);</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span>}</div>
</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Op&gt;</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, <span class="keyword">typename</span> Op&gt;</div>
<div class="foldopen" id="foldopen00012" data-start="{" data-end="}">
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#a95f7b9c0112cdc84ae10465fb74d29dd"> 12</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#a95f7b9c0112cdc84ae10465fb74d29dd">unary_v2</a>(</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#a7c7690f0df9d2acc60b63be58d9c7777"> 12</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#a7c7690f0df9d2acc60b63be58d9c7777">unary_v2</a>(</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> device <span class="keyword">const</span> T* in,</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> device T* out,</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> device U* out,</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> uint2 index [[thread_position_in_grid]],</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> uint2 grid_dim [[threads_per_grid]]) {</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keywordtype">size_t</span> offset = index.x + grid_dim.x * size_t(index.y);</div>
@@ -115,11 +115,11 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span>}</div>
</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Op, <span class="keywordtype">int</span> N = 1&gt;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, <span class="keyword">typename</span> Op, <span class="keywordtype">int</span> N = 1&gt;</div>
<div class="foldopen" id="foldopen00022" data-start="{" data-end="}">
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#a3087458e6d5af4e08a4603802f134263"> 22</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#a3087458e6d5af4e08a4603802f134263">unary_g</a>(</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#ac965f8d3ed62f8580dbfb645e83d4ae5"> 22</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#ac965f8d3ed62f8580dbfb645e83d4ae5">unary_g</a>(</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> device <span class="keyword">const</span> T* in,</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> device T* out,</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> device U* out,</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> constant <span class="keyword">const</span> <span class="keywordtype">int</span>* in_shape,</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> constant <span class="keyword">const</span> <span class="keywordtype">size_t</span>* in_strides,</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> device <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; ndim,</div>
@@ -138,9 +138,9 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span>}</div>
</div>
<div class="ttc" id="abackend_2metal_2kernels_2utils_8h_html_a8fd0c8fc6058e650fc99bca8b6acd7d1"><div class="ttname"><a href="backend_2metal_2kernels_2utils_8h.html#a8fd0c8fc6058e650fc99bca8b6acd7d1">elem_to_loc</a></div><div class="ttdeci">METAL_FUNC stride_t elem_to_loc(uint elem, constant const int *shape, constant const stride_t *strides, int ndim)</div><div class="ttdef"><b>Definition</b> utils.h:87</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_a3087458e6d5af4e08a4603802f134263"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#a3087458e6d5af4e08a4603802f134263">unary_g</a></div><div class="ttdeci">void unary_g(device const T *in, device T *out, constant const int *in_shape, constant const size_t *in_strides, device const int &amp;ndim, uint3 index, uint3 grid_dim)</div><div class="ttdef"><b>Definition</b> unary.h:22</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_a95f7b9c0112cdc84ae10465fb74d29dd"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#a95f7b9c0112cdc84ae10465fb74d29dd">unary_v2</a></div><div class="ttdeci">void unary_v2(device const T *in, device T *out, uint2 index, uint2 grid_dim)</div><div class="ttdef"><b>Definition</b> unary.h:12</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_ada52df4976078091cd7b47c152f326fb"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#ada52df4976078091cd7b47c152f326fb">unary_v</a></div><div class="ttdeci">void unary_v(device const T *in, device T *out, uint index)</div><div class="ttdef"><b>Definition</b> unary.h:4</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_a64e4f6737edddb72122e262977ee3014"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#a64e4f6737edddb72122e262977ee3014">unary_v</a></div><div class="ttdeci">void unary_v(device const T *in, device U *out, uint index)</div><div class="ttdef"><b>Definition</b> unary.h:4</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_a7c7690f0df9d2acc60b63be58d9c7777"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#a7c7690f0df9d2acc60b63be58d9c7777">unary_v2</a></div><div class="ttdeci">void unary_v2(device const T *in, device U *out, uint2 index, uint2 grid_dim)</div><div class="ttdef"><b>Definition</b> unary.h:12</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_ac965f8d3ed62f8580dbfb645e83d4ae5"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#ac965f8d3ed62f8580dbfb645e83d4ae5">unary_g</a></div><div class="ttdeci">void unary_g(device const T *in, device U *out, constant const int *in_shape, constant const size_t *in_strides, device const int &amp;ndim, uint3 index, uint3 grid_dim)</div><div class="ttdef"><b>Definition</b> unary.h:22</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>