This commit is contained in:
CircleCI Docs
2024-11-22 20:24:16 +00:00
parent 6433a22733
commit 8ba8a39e43
905 changed files with 30035 additions and 16934 deletions

View File

@@ -196,7 +196,7 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="steel__gemm__fused_8h.html#a3fe4e4382bda8a419557a5e6f77bc084">use_out_source</a>) {</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">const</span> constant <span class="keywordtype">size_t</span>* indx_C_bstrides =</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> indx_B_bstrides + params-&gt;batch_ndim;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">auto</span> indx_offset_C = <a class="code hl_function" href="backend_2metal_2kernels_2utils_8h.html#a8fd0c8fc6058e650fc99bca8b6acd7d1">elem_to_loc</a>(</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">auto</span> indx_offset_C = <a class="code hl_function" href="backend_2metal_2kernels_2utils_8h.html#a22eaa505dbc7dd2a63a895f2e16712f5">elem_to_loc</a>(</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> tid.z, batch_shape, indx_C_bstrides, params-&gt;batch_ndim);</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> indx_C = C_indices[indx_offset_C];</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> }</div>
@@ -213,18 +213,18 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> batch_ndim_A = operand_batch_ndim.x;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">const</span> constant <span class="keywordtype">int</span>* batch_shape_A = operand_shape;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">const</span> constant <span class="keywordtype">size_t</span>* batch_strides_A = operand_strides;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> A += <a class="code hl_function" href="backend_2metal_2kernels_2utils_8h.html#a8fd0c8fc6058e650fc99bca8b6acd7d1">elem_to_loc</a>(indx_A, batch_shape_A, batch_strides_A, batch_ndim_A);</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> A += <a class="code hl_function" href="backend_2metal_2kernels_2utils_8h.html#a22eaa505dbc7dd2a63a895f2e16712f5">elem_to_loc</a>(indx_A, batch_shape_A, batch_strides_A, batch_ndim_A);</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> batch_ndim_B = operand_batch_ndim.y;</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> constant <span class="keywordtype">int</span>* batch_shape_B = batch_shape_A + batch_ndim_A;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">const</span> constant <span class="keywordtype">size_t</span>* batch_strides_B = batch_strides_A + batch_ndim_A;</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> B += <a class="code hl_function" href="backend_2metal_2kernels_2utils_8h.html#a8fd0c8fc6058e650fc99bca8b6acd7d1">elem_to_loc</a>(indx_B, batch_shape_B, batch_strides_B, batch_ndim_B);</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> B += <a class="code hl_function" href="backend_2metal_2kernels_2utils_8h.html#a22eaa505dbc7dd2a63a895f2e16712f5">elem_to_loc</a>(indx_B, batch_shape_B, batch_strides_B, batch_ndim_B);</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="steel__gemm__fused_8h.html#a3fe4e4382bda8a419557a5e6f77bc084">use_out_source</a>) {</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">int</span> batch_ndim_C = operand_batch_ndim.z;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">const</span> constant <span class="keywordtype">int</span>* batch_shape_C = batch_shape_B + batch_ndim_B;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">const</span> constant <span class="keywordtype">size_t</span>* batch_strides_C = batch_strides_B + batch_ndim_B;</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> C += <a class="code hl_function" href="backend_2metal_2kernels_2utils_8h.html#a8fd0c8fc6058e650fc99bca8b6acd7d1">elem_to_loc</a>(indx_C, batch_shape_C, batch_strides_C, batch_ndim_C);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> C += <a class="code hl_function" href="backend_2metal_2kernels_2utils_8h.html#a22eaa505dbc7dd2a63a895f2e16712f5">elem_to_loc</a>(indx_C, batch_shape_C, batch_strides_C, batch_ndim_C);</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> }</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> }</div>
@@ -243,7 +243,7 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="steel__gemm__fused_8h.html#a3fe4e4382bda8a419557a5e6f77bc084">use_out_source</a>) {</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">const</span> constant <span class="keywordtype">size_t</span>* C_bstrides = B_bstrides + params-&gt;batch_ndim;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> C += <a class="code hl_function" href="backend_2metal_2kernels_2utils_8h.html#a8fd0c8fc6058e650fc99bca8b6acd7d1">elem_to_loc</a>(tid.z, batch_shape, C_bstrides, params-&gt;batch_ndim);</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> C += <a class="code hl_function" href="backend_2metal_2kernels_2utils_8h.html#a22eaa505dbc7dd2a63a895f2e16712f5">elem_to_loc</a>(tid.z, batch_shape, C_bstrides, params-&gt;batch_ndim);</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> }</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> A += params-&gt;batch_stride_a * tid.z;</div>
@@ -505,8 +505,8 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span>}</div>
</div>
<div class="ttc" id="abackend_2metal_2kernels_2steel_2utils_8h_html_aaf4974425147d6f26d031691e321637f"><div class="ttname"><a href="backend_2metal_2kernels_2steel_2utils_8h.html#aaf4974425147d6f26d031691e321637f">elem_to_loc_broadcast</a></div><div class="ttdeci">METAL_FUNC ulong2 elem_to_loc_broadcast(uint elem, constant const int *shape, constant const size_t *a_strides, constant const size_t *b_strides, int ndim)</div><div class="ttdef"><b>Definition</b> utils.h:7</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="anamespacemlx_1_1steel_html"><div class="ttname"><a href="namespacemlx_1_1steel.html">mlx::steel</a></div><div class="ttdef"><b>Definition</b> loader_channel_l.h:14</div></div>
<div class="ttc" id="abackend_2metal_2kernels_2utils_8h_html_a22eaa505dbc7dd2a63a895f2e16712f5"><div class="ttname"><a href="backend_2metal_2kernels_2utils_8h.html#a22eaa505dbc7dd2a63a895f2e16712f5">elem_to_loc</a></div><div class="ttdeci">METAL_FUNC IdxT elem_to_loc(uint elem, constant const int *shape, constant const StrideT *strides, int ndim)</div><div class="ttdef"><b>Definition</b> utils.h:93</div></div>
<div class="ttc" id="anamespacemlx_1_1steel_html"><div class="ttname"><a href="namespacemlx_1_1steel.html">mlx::steel</a></div><div class="ttdef"><b>Definition</b> attn.h:19</div></div>
<div class="ttc" id="asteel__gemm__fused_8h_html_a3fe4e4382bda8a419557a5e6f77bc084"><div class="ttname"><a href="steel__gemm__fused_8h.html#a3fe4e4382bda8a419557a5e6f77bc084">use_out_source</a></div><div class="ttdeci">constant bool use_out_source</div><div class="ttdef"><b>Definition</b> steel_gemm_fused.h:11</div></div>
<div class="ttc" id="asteel__gemm__fused_8h_html_a55af226dc74b0026b7d4b865142a6d21"><div class="ttname"><a href="steel__gemm__fused_8h.html#a55af226dc74b0026b7d4b865142a6d21">align_M</a></div><div class="ttdeci">constant bool align_M</div><div class="ttdef"><b>Definition</b> steel_gemm_fused.h:14</div></div>
<div class="ttc" id="asteel__gemm__fused_8h_html_a60efac3ac3b7cd64d096bbae38a3ac69"><div class="ttname"><a href="steel__gemm__fused_8h.html#a60efac3ac3b7cd64d096bbae38a3ac69">do_gather</a></div><div class="ttdeci">constant bool do_gather</div><div class="ttdef"><b>Definition</b> steel_gemm_fused.h:18</div></div>