2024-08-26 15:12:50 -07:00
|
|
|
// Copyright © 2024 Apple Inc.
|
|
|
|
|
|
|
|
|
|
#include <cassert>
|
|
|
|
|
|
|
|
|
|
#include "mlx/allocator.h"
|
2025-01-06 06:08:43 -08:00
|
|
|
#include "mlx/backend/common/utils.h"
|
2025-05-06 05:45:29 +09:00
|
|
|
#include "mlx/backend/gpu/copy.h"
|
2024-08-26 15:12:50 -07:00
|
|
|
#include "mlx/backend/metal/device.h"
|
2025-02-12 10:52:30 -08:00
|
|
|
#include "mlx/backend/metal/utils.h"
|
2024-08-26 15:12:50 -07:00
|
|
|
#include "mlx/distributed/ops.h"
|
|
|
|
|
#include "mlx/distributed/primitives.h"
|
2025-03-06 19:23:38 -08:00
|
|
|
#include "mlx/fence.h"
|
2024-08-26 15:12:50 -07:00
|
|
|
#include "mlx/scheduler.h"
|
|
|
|
|
|
|
|
|
|
namespace mlx::core::distributed {
|
|
|
|
|
|
2025-03-06 19:23:38 -08:00
|
|
|
void AllReduce::eval_gpu(const std::vector<array>&, std::vector<array>&) {
|
|
|
|
|
throw std::runtime_error("[AllReduce::eval_gpu] has no GPU implementation.");
|
2024-08-26 15:12:50 -07:00
|
|
|
}
|
|
|
|
|
|
2025-03-06 19:23:38 -08:00
|
|
|
void AllGather::eval_gpu(const std::vector<array>&, std::vector<array>&) {
|
|
|
|
|
throw std::runtime_error("[AllGather::eval_gpu] has no GPU implementation.");
|
2024-08-26 15:12:50 -07:00
|
|
|
}
|
|
|
|
|
|
2025-03-06 19:23:38 -08:00
|
|
|
void Send::eval_gpu(const std::vector<array>&, std::vector<array>&) {
|
|
|
|
|
throw std::runtime_error("[Send::eval_gpu] has no GPU implementation.");
|
2024-08-26 15:12:50 -07:00
|
|
|
}
|
|
|
|
|
|
2025-03-06 19:23:38 -08:00
|
|
|
void Recv::eval_gpu(const std::vector<array>&, std::vector<array>&) {
|
|
|
|
|
throw std::runtime_error("[Recv::eval_gpu] has no GPU implementation.");
|
2024-08-26 23:01:37 -07:00
|
|
|
}
|
|
|
|
|
|
2024-08-26 15:12:50 -07:00
|
|
|
} // namespace mlx::core::distributed
|