File MpiWorld.cpp

namespace faabric
namespace mpi

Functions

std::vector<MpiMessage> getMpiMockedMessages(int sendRank)
static int32_t getAsyncRequestId(int sendRank, int recvRank, bool isSend)
static std::tuple<int, int, bool> getRanksFromRequestId(int32_t requestId)
void checkSendRecvMatch(faabric_datatype_t *sendType, int sendCount, faabric_datatype_t *recvType, int recvCount)

Variables

static std::mutex mockMutex
static std::map<int, std::vector<MpiMessage>> mpiMockedMessages
static thread_local MpiRankState rankState
const uint8_t iSendMagic = 0xFF
const uint8_t iRecvMagic = 0x00
struct MpiRankState

Public Functions

inline void reset()

Public Members

int msgCount = 1
faabric::Message *msg = nullptr
std::vector<std::unique_ptr<std::list<MpiMessage>>> unackedMessageBuffers
std::unique_ptr<faabric::util::FaabricCpuSet> pinnedCpu
std::vector<std::unique_ptr<faabric::transport::tcp::SendSocket>> sendSockets
std::unique_ptr<faabric::transport::tcp::RecvSocket> recvSocket
std::vector<int> recvConnPool