| 
									
										
										
										
											2023-11-30 11:12:53 -08:00
										 |  |  | // Copyright © 2023 Apple Inc.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-29 10:52:08 -08:00
										 |  |  | #include <iostream>
 | 
					
						
							|  |  |  | #include "mlx/mlx.h"
 | 
					
						
							|  |  |  | #include "time_utils.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-12 00:08:29 +09:00
										 |  |  | namespace mx = mlx::core; | 
					
						
							| 
									
										
										
										
											2023-11-29 10:52:08 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | void time_add_op() { | 
					
						
							|  |  |  |   std::vector<int> sizes(1, 1); | 
					
						
							|  |  |  |   for (int i = 0; i < 9; ++i) { | 
					
						
							|  |  |  |     sizes.push_back(10 * sizes.back()); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-12-12 00:08:29 +09:00
										 |  |  |   set_default_device(mx::Device::cpu); | 
					
						
							| 
									
										
										
										
											2023-11-29 10:52:08 -08:00
										 |  |  |   for (auto size : sizes) { | 
					
						
							| 
									
										
										
										
											2024-12-12 00:08:29 +09:00
										 |  |  |     auto a = mx::random::uniform({size}); | 
					
						
							|  |  |  |     auto b = mx::random::uniform({size}); | 
					
						
							|  |  |  |     mx::eval(a, b); | 
					
						
							| 
									
										
										
										
											2023-11-29 10:52:08 -08:00
										 |  |  |     std::cout << "Size " << size << std::endl; | 
					
						
							| 
									
										
										
										
											2024-12-12 00:08:29 +09:00
										 |  |  |     TIMEM("cpu", mx::add, a, b, mx::Device::cpu); | 
					
						
							|  |  |  |     TIMEM("gpu", mx::add, a, b, mx::Device::gpu); | 
					
						
							| 
									
										
										
										
											2023-11-29 10:52:08 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | int main() { | 
					
						
							|  |  |  |   time_add_op(); | 
					
						
							|  |  |  | } |