| 
									
										
										
										
											2024-05-23 17:04:02 -07:00
										 |  |  | // Copyright © 2024 Apple Inc.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <iostream>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "mlx/mlx.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-12 00:08:29 +09:00
										 |  |  | namespace mx = mlx::core; | 
					
						
							| 
									
										
										
										
											2024-05-23 17:04:02 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | int main() { | 
					
						
							| 
									
										
										
										
											2024-12-12 00:08:29 +09:00
										 |  |  |   if (!mx::distributed::is_available()) { | 
					
						
							| 
									
										
										
										
											2024-05-23 17:04:02 -07:00
										 |  |  |     std::cout << "No communication backend found" << std::endl; | 
					
						
							|  |  |  |     return 1; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-12 00:08:29 +09:00
										 |  |  |   auto global_group = mx::distributed::init(); | 
					
						
							| 
									
										
										
										
											2024-05-23 17:04:02 -07:00
										 |  |  |   std::cout << global_group.rank() << " / " << global_group.size() << std::endl; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-12 00:08:29 +09:00
										 |  |  |   mx::array x = mx::ones({10}); | 
					
						
							|  |  |  |   mx::array out = mx::distributed::all_sum(x, global_group); | 
					
						
							| 
									
										
										
										
											2024-05-23 17:04:02 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   std::cout << out << std::endl; | 
					
						
							|  |  |  | } |