2024-10-15 15:12:17 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< html  xmlns = "http://www.w3.org/1999/xhtml"  lang = "en-US" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< head > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< meta  http-equiv = "Content-Type"  content = "text/xhtml;charset=UTF-8" / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< meta  http-equiv = "X-UA-Compatible"  content = "IE=11" / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< meta  name = "generator"  content = "Doxygen 1.12.0" / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< meta  name = "viewport"  content = "width=device-width, initial-scale=1" / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< title > MLX: mlx/backend/metal/reduce.h Source File< / 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 > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< script  type = "text/javascript"  src = "clipboard.js" > < / script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< link  href = "navtree.css"  rel = "stylesheet"  type = "text/css" / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< script  type = "text/javascript"  src = "resize.js" > < / script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< script  type = "text/javascript"  src = "cookie.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  id = "projectrow" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  < td  id = "projectalign" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   < div  id = "projectname" > MLX
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  < / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 < / tbody > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / table > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								<!--  end header part  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								<!--  Generated by Doxygen 1.12.0  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< script  type = "text/javascript" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var searchBox = new SearchBox("searchBox", "search/",'.html');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/* @license-end */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< script  type = "text/javascript" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$(function() { codefold.init(0); });
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/* @license-end */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< script  type = "text/javascript"  src = "menudata.js" > < / script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< script  type = "text/javascript"  src = "menu.js" > < / script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< script  type = "text/javascript" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$(function() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  initMenu('',true,false,'search.php','Search',false);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  $(function() { init_search(); });
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								});
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/* @license-end */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  id = "main-nav" > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< script  type = "text/javascript" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$(function(){ initResizable(false); });
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/* @license-end */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								<!--  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" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  id = "MSearchResults" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "SRPage" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  id = "SRIndex" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  id = "SRResults" > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "SRStatus"  id = "Loading" > Loading...< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "SRStatus"  id = "Searching" > Searching...< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "SRStatus"  id = "NoMatches" > No Matches< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  id = "nav-path"  class = "navpath" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  < ul > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< li  class = "navelem" > < a  class = "el"  href = "dir_938ab0ecf10b8b860ff766c820f665fd.html" > mlx< / a > < / li > < li  class = "navelem" > < a  class = "el"  href = "dir_1d446c9bd3c99228254c9484e0bc5c06.html" > backend< / a > < / li > < li  class = "navelem" > < a  class = "el"  href = "dir_d0c977ea65824390717cdb7efc36c157.html" > metal< / a > < / li >   < / ul > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / div > <!--  top  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  id = "doc-content" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "header" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  < div  class = "headertitle" > < div  class = "title" > reduce.h< / div > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / div > <!-- header --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "contents" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< a  href = "metal_2reduce_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 @ 2023 - 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 = "preprocessor" > #pragma once< / span > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00004"  name = "l00004" > < / a > < span  class = "lineno" >     4< / span >  < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00005"  name = "l00005" > < / a > < span  class = "lineno" >     5< / span > < span  class = "preprocessor" > #include " < a  class = "code"  href = "common_2reduce_8h.html" > mlx/backend/common/reduce.h< / a > " < / span > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00006"  name = "l00006" > < / a > < span  class = "lineno" >     6< / span > < span  class = "preprocessor" > #include " < a  class = "code"  href = "backend_2metal_2device_8h.html" > mlx/backend/metal/device.h< / a > " < / span > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00007"  name = "l00007" > < / a > < span  class = "lineno" >     7< / span > < span  class = "preprocessor" > #include " < a  class = "code"  href = "stream_8h.html" > mlx/stream.h< / a > " < / span > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00008"  name = "l00008" > < / a > < span  class = "lineno" >     8< / span >  < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00009"  name = "l00009" > < / a > < span  class = "lineno" >     9< / span > < span  class = "keyword" > namespace < / span > < a  class = "code hl_namespace"  href = "namespacemlx_1_1core.html" > mlx::core< / a >  {< / 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" > using < / span > metal::CommandEncoder;< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00012"  name = "l00012" > < / a > < span  class = "lineno" >    12< / span >  < / div > 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-05 19:54:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00013"  name = "l00013" > < / a > < span  class = "lineno" > < a  class = "line"  href = "namespacemlx_1_1core.html#a3ab0fd997d9a35782106ff083a72e098" >    13< / a > < / span > < span  class = "keywordtype" > void< / span >  < a  class = "code hl_function"  href = "namespacemlx_1_1core.html#a3ab0fd997d9a35782106ff083a72e098" > all_reduce_dispatch< / a > (< / div > 
							 
						 
					
						
							
								
									
										
										
										
											2024-10-15 15:12:17 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00014"  name = "l00014" > < / a > < span  class = "lineno" >    14< / span >     < span  class = "keyword" > const< / span >  < a  class = "code hl_class"  href = "classmlx_1_1core_1_1array.html" > array< / a > &  in,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00015"  name = "l00015" > < / a > < span  class = "lineno" >    15< / span >     < a  class = "code hl_class"  href = "classmlx_1_1core_1_1array.html" > array< / a > &  out,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00016"  name = "l00016" > < / a > < span  class = "lineno" >    16< / span >     < span  class = "keyword" > const< / span >  std::string&  op_name,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00017"  name = "l00017" > < / a > < span  class = "lineno" >    17< / span >     < a  class = "code hl_struct"  href = "structmlx_1_1core_1_1metal_1_1_command_encoder.html" > CommandEncoder< / a > &  compute_encoder,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00018"  name = "l00018" > < / a > < span  class = "lineno" >    18< / span >     < a  class = "code hl_class"  href = "classmlx_1_1core_1_1metal_1_1_device.html" > metal::Device< / a > &  d,< / div > 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-05 19:54:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00019"  name = "l00019" > < / a > < span  class = "lineno" >    19< / span >     < span  class = "keyword" > const< / span >  < a  class = "code hl_struct"  href = "structmlx_1_1core_1_1_stream.html" > Stream< / a > &  s);< / 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" > < a  class = "line"  href = "namespacemlx_1_1core.html#ab1eeca8ec6fa31819ee108fa6ed2c41b" >    21< / a > < / span > < span  class = "keywordtype" > void< / span >  < a  class = "code hl_function"  href = "namespacemlx_1_1core.html#ab1eeca8ec6fa31819ee108fa6ed2c41b" > row_reduce_general_dispatch< / a > (< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00022"  name = "l00022" > < / a > < span  class = "lineno" >    22< / span >     < span  class = "keyword" > const< / span >  < a  class = "code hl_class"  href = "classmlx_1_1core_1_1array.html" > array< / a > &  in,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00023"  name = "l00023" > < / a > < span  class = "lineno" >    23< / span >     < a  class = "code hl_class"  href = "classmlx_1_1core_1_1array.html" > array< / a > &  out,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00024"  name = "l00024" > < / a > < span  class = "lineno" >    24< / span >     < span  class = "keyword" > const< / span >  std::string&  op_name,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00025"  name = "l00025" > < / a > < span  class = "lineno" >    25< / span >     < span  class = "keyword" > const< / span >  < a  class = "code hl_struct"  href = "structmlx_1_1core_1_1_reduction_plan.html" > ReductionPlan< / a > &  plan,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00026"  name = "l00026" > < / a > < span  class = "lineno" >    26< / span >     < span  class = "keyword" > const< / span >  std::vector< int> &  axes,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00027"  name = "l00027" > < / a > < span  class = "lineno" >    27< / span >     < a  class = "code hl_struct"  href = "structmlx_1_1core_1_1metal_1_1_command_encoder.html" > CommandEncoder< / a > &  compute_encoder,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00028"  name = "l00028" > < / a > < span  class = "lineno" >    28< / span >     < a  class = "code hl_class"  href = "classmlx_1_1core_1_1metal_1_1_device.html" > metal::Device< / a > &  d,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00029"  name = "l00029" > < / a > < span  class = "lineno" >    29< / span >     < span  class = "keyword" > const< / span >  < a  class = "code hl_struct"  href = "structmlx_1_1core_1_1_stream.html" > Stream< / a > &  s);< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00030"  name = "l00030" > < / a > < span  class = "lineno" >    30< / span >  < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00031"  name = "l00031" > < / a > < span  class = "lineno" > < a  class = "line"  href = "namespacemlx_1_1core.html#aa0332c64ee9965f05026c30a0b778000" >    31< / a > < / span > < span  class = "keywordtype" > void< / span >  < a  class = "code hl_function"  href = "namespacemlx_1_1core.html#aa0332c64ee9965f05026c30a0b778000" > strided_reduce_general_dispatch< / a > (< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00032"  name = "l00032" > < / a > < span  class = "lineno" >    32< / span >     < span  class = "keyword" > const< / span >  < a  class = "code hl_class"  href = "classmlx_1_1core_1_1array.html" > array< / a > &  in,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00033"  name = "l00033" > < / a > < span  class = "lineno" >    33< / span >     < a  class = "code hl_class"  href = "classmlx_1_1core_1_1array.html" > array< / a > &  out,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00034"  name = "l00034" > < / a > < span  class = "lineno" >    34< / span >     < span  class = "keyword" > const< / span >  std::string&  op_name,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00035"  name = "l00035" > < / a > < span  class = "lineno" >    35< / span >     < span  class = "keyword" > const< / span >  < a  class = "code hl_struct"  href = "structmlx_1_1core_1_1_reduction_plan.html" > ReductionPlan< / a > &  plan,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00036"  name = "l00036" > < / a > < span  class = "lineno" >    36< / span >     < span  class = "keyword" > const< / span >  std::vector< int> &  axes,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00037"  name = "l00037" > < / a > < span  class = "lineno" >    37< / span >     < a  class = "code hl_struct"  href = "structmlx_1_1core_1_1metal_1_1_command_encoder.html" > CommandEncoder< / a > &  compute_encoder,< / 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_1metal_1_1_device.html" > metal::Device< / a > &  d,< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00039"  name = "l00039" > < / a > < span  class = "lineno" >    39< / span >     < span  class = "keyword" > const< / span >  < a  class = "code hl_struct"  href = "structmlx_1_1core_1_1_stream.html" > Stream< / a > &  s);< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00040"  name = "l00040" > < / a > < span  class = "lineno" >    40< / span >  < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "line" > < a  id = "l00041"  name = "l00041" > < / a > < span  class = "lineno" >    41< / span > } < span  class = "comment" > // namespace mlx::core< / span > < / div > 
							 
						 
					
						
							
								
									
										
										
										
											2024-10-15 15:12:17 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "ttc"  id = "abackend_2metal_2device_8h_html" > < div  class = "ttname" > < a  href = "backend_2metal_2device_8h.html" > device.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:20< / div > < / div > 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-22 20:24:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								< div  class = "ttc"  id = "aclassmlx_1_1core_1_1metal_1_1_device_html" > < div  class = "ttname" > < a  href = "classmlx_1_1core_1_1metal_1_1_device.html" > mlx::core::metal::Device< / a > < / div > < div  class = "ttdef" > < b > Definition< / b >  device.h:158< / div > < / div > 
							 
						 
					
						
							
								
									
										
										
										
											2024-10-15 15:12:17 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "ttc"  id = "acommon_2reduce_8h_html" > < div  class = "ttname" > < a  href = "common_2reduce_8h.html" > reduce.h< / a > < / 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 > 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-05 19:54:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								< div  class = "ttc"  id = "anamespacemlx_1_1core_html_a3ab0fd997d9a35782106ff083a72e098" > < div  class = "ttname" > < a  href = "namespacemlx_1_1core.html#a3ab0fd997d9a35782106ff083a72e098" > mlx::core::all_reduce_dispatch< / a > < / div > < div  class = "ttdeci" > void all_reduce_dispatch(const array & in, array & out, const std::string & op_name, CommandEncoder & compute_encoder, metal::Device & d, const Stream & s)< / div > < / div > 
							 
						 
					
						
							
								
									
										
										
										
											2024-10-15 15:12:17 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "ttc"  id = "anamespacemlx_1_1core_html_aa0332c64ee9965f05026c30a0b778000" > < div  class = "ttname" > < a  href = "namespacemlx_1_1core.html#aa0332c64ee9965f05026c30a0b778000" > mlx::core::strided_reduce_general_dispatch< / a > < / div > < div  class = "ttdeci" > void strided_reduce_general_dispatch(const array & in, array & out, const std::string & op_name, const ReductionPlan & plan, const std::vector<  int >  & axes, CommandEncoder & compute_encoder, metal::Device & d, const Stream & s)< / div > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "ttc"  id = "anamespacemlx_1_1core_html_ab1eeca8ec6fa31819ee108fa6ed2c41b" > < div  class = "ttname" > < a  href = "namespacemlx_1_1core.html#ab1eeca8ec6fa31819ee108fa6ed2c41b" > mlx::core::row_reduce_general_dispatch< / a > < / div > < div  class = "ttdeci" > void row_reduce_general_dispatch(const array & in, array & out, const std::string & op_name, const ReductionPlan & plan, const std::vector<  int >  & axes, CommandEncoder & compute_encoder, metal::Device & d, const Stream & s)< / div > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "ttc"  id = "astream_8h_html" > < div  class = "ttname" > < a  href = "stream_8h.html" > stream.h< / a > < / div > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "ttc"  id = "astructmlx_1_1core_1_1_reduction_plan_html" > < div  class = "ttname" > < a  href = "structmlx_1_1core_1_1_reduction_plan.html" > mlx::core::ReductionPlan< / a > < / div > < div  class = "ttdef" > < b > Definition< / b >  reduce.h:39< / div > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "ttc"  id = "astructmlx_1_1core_1_1_stream_html" > < div  class = "ttname" > < a  href = "structmlx_1_1core_1_1_stream.html" > mlx::core::Stream< / a > < / div > < div  class = "ttdef" > < b > Definition< / b >  stream.h:9< / div > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< div  class = "ttc"  id = "astructmlx_1_1core_1_1metal_1_1_command_encoder_html" > < div  class = "ttname" > < a  href = "structmlx_1_1core_1_1metal_1_1_command_encoder.html" > mlx::core::metal::CommandEncoder< / a > < / div > < div  class = "ttdef" > < b > Definition< / b >  device.h:41< / div > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / div > <!--  fragment  --> < / div > <!--  contents  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								<!--  start footer part  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< hr  class = "footer" / > < address  class = "footer" > < small > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Generated by  < a  href = "https://www.doxygen.org/index.html" > < img  class = "footer"  src = "doxygen.svg"  width = "104"  height = "31"  alt = "doxygen" / > < / a >  1.12.0
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / small > < / address > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / div > <!--  doc - content  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / body > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / html >