Files
mscclpp/src/include/communicator.hpp
Changho Hwang 8c0f9e84d0 v0.3.0 (#171)
2023-10-11 22:35:54 +08:00

35 lines
737 B
C++

// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
#ifndef MSCCLPP_COMMUNICATOR_HPP_
#define MSCCLPP_COMMUNICATOR_HPP_
#include <memory>
#include <mscclpp/core.hpp>
#include <unordered_map>
#include <vector>
namespace mscclpp {
class ConnectionBase;
struct ConnectionInfo {
int remoteRank;
int tag;
};
struct Communicator::Impl {
std::shared_ptr<Bootstrap> bootstrap_;
std::shared_ptr<Context> context_;
std::unordered_map<const Connection*, ConnectionInfo> connectionInfos_;
std::vector<std::shared_ptr<Setuppable>> toSetup_;
Impl(std::shared_ptr<Bootstrap> bootstrap, std::shared_ptr<Context> context);
struct Connector;
};
} // namespace mscclpp
#endif // MSCCLPP_COMMUNICATOR_HPP_