Communicator

ACCL::rank_t

struct rank_t

The rank_t struct contains information ACCL needs from the ranks in the network.

Public Members

std::string ip

IP address of rank.

int port

Port of rank.

int session_id

Session id of rank.

addr_t max_segment_size

Max segment size of rank.

ACCL::Communicator

class Communicator

Communicators store configurations on the CCLO necessary for communicating with other ranks.

Public Functions

Communicator(CCLO *cclo, const std::vector<rank_t> &ranks, unsigned int rank, addr_t *addr)

Construct a new communicator object and store configuration on the CCLO.

Parameters
  • ccloCCLO to store configuration on.

  • ranks – Configuration of all ranks in the communicator.

  • rank – Rank of this process.

  • addr – Address on the CCLO to write configuration to.

inline addr_t communicators_addr() const

Retrieve the communicators address on the FPGA from this communicator.

Returns

addr_t communicators address on the FPGA.

inline unsigned int local_rank() const

Retrieve the local rank stored in the communicator.

Returns

unsigned int The local rank stored in the communicator.

inline const std::vector<rank_t> *get_ranks() const

Get the configuration of the ranks in this communicator.

Returns

const std::vector<rank_t>* Configuration of the ranks in this communicator.

std::string dump()

Dump the configuration of this communicator stored in the CCLO to a string.

Returns

std::string A dump of the configuration of this communicator.