pytorch/torch/csrc/distributed/c10d/GlooDeviceFactory.hpp
Tristan Rice df4e5294a6 Reapply "ProcessGroupGloo: support lazy_init (#150801)" (#151031)
This reverts commit 73f3d6d9aa.

Reapplies #150801

Test plan:

See #150801

submodule

Pull Request resolved: https://github.com/pytorch/pytorch/pull/151031
Approved by: https://github.com/fduwjj
2025-04-11 01:58:35 +00:00

36 lines
840 B
C++

#pragma once
#ifdef USE_C10D_GLOO
#include <string>
#include <c10/util/Registry.h>
#include <gloo/config.h>
#include <gloo/transport/device.h>
namespace c10d {
class TORCH_API GlooDeviceFactory {
public:
// Create new device instance for specific interface.
static std::shared_ptr<::gloo::transport::Device> makeDeviceForInterface(
const std::string& interface,
bool lazyInit);
// Create new device instance for specific hostname or address.
static std::shared_ptr<::gloo::transport::Device> makeDeviceForHostname(
const std::string& hostname,
bool lazyInit);
};
TORCH_DECLARE_SHARED_REGISTRY(
GlooDeviceRegistry,
::gloo::transport::Device,
const std::string&, /* interface */
const std::string&, /* hostname */
bool /* lazyInit */);
} // namespace c10d
#endif // USE_C10D_GLOO