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