Classes | |
| class | barrier_group |
| class | connection_broken |
| class | exception |
| class | group_busy |
| class | invalid_args |
| class | nonroot_sender |
| struct | receive_destination |
Typedefs | |
| typedef std::function< receive_destination(size_t size)> | incoming_message_callback_t |
| typedef std::function< void(char *buffer, size_t size)> | completion_callback_t |
| typedef std::function< void(std::optional< uint32_t > suspected_victim)> | failure_callback_t |
Enumerations | |
| enum | send_algorithm { BINOMIAL_SEND = 1, CHAIN_SEND = 2, SEQUENTIAL_SEND = 3, TREE_SEND = 4 } |
Functions | |
| bool | initialize (const std::map< uint32_t, std::pair< ip_addr_t, uint16_t >> &addresses, uint32_t node_rank) __attribute__((warn_unused_result)) |
| void | add_address (uint32_t index, const std::pair< ip_addr_t, uint16_t > &address) |
| void | shutdown () |
| bool | create_group (uint16_t group_number, std::vector< uint32_t > members, size_t block_size, send_algorithm algorithm, incoming_message_callback_t incoming_receive, completion_callback_t send_callback, failure_callback_t failure_callback) __attribute__((warn_unused_result)) |
| Creates a new RDMC group. More... | |
| void | destroy_group (uint16_t group_number) |
| bool | send (uint16_t group_number, std::shared_ptr< rdma::memory_region > mr, size_t offset, size_t length) __attribute__((warn_unused_result)) |
| bool | send (uint16_t group_number, shared_ptr< memory_region > mr, size_t offset, size_t length) |
Variables | |
| map< uint16_t, shared_ptr< group > > | groups |
| mutex | groups_lock |
| uint32_t | node_rank |
| atomic< bool > | shutdown_flag |
| struct rdmc::receive_destination |
| typedef std::function<void(char* buffer, size_t size)> rdmc::completion_callback_t |
| typedef std::function<void(std::optional<uint32_t> suspected_victim)> rdmc::failure_callback_t |
| typedef std::function<receive_destination(size_t size)> rdmc::incoming_message_callback_t |
| enum rdmc::send_algorithm |
| void rdmc::add_address | ( | uint32_t | index, |
| const std::pair< ip_addr_t, uint16_t > & | address | ||
| ) |
| bool rdmc::create_group | ( | uint16_t | group_number, |
| std::vector< uint32_t > | members, | ||
| size_t | block_size, | ||
| send_algorithm | algorithm, | ||
| incoming_message_callback_t | incoming_receive, | ||
| completion_callback_t | send_callback, | ||
| failure_callback_t | failure_callback | ||
| ) |
Creates a new RDMC group.
| group_number | The group's unique identifier. |
| members | A vector of node IDs representing the members of this group. The order of this vector will be used as the rank order of the members. |
| block_size | The size, in bytes, of blocks to use when sending in this group. |
| algorithm | Which RDMC send algorithm to use in this group. |
| incoming_receive | The function to call when there is a new incoming message in this group; it must provide a destination to receive the message into. |
| send_callback | The function to call when RDMC completes receiving a message in this group |
| failure_callback | The function to call when RDMC detects a failure in this group. It will be called with the suspected failed node's ID. |
| bool rdmc::initialize | ( | const std::map< uint32_t, std::pair< ip_addr_t, uint16_t >> & | addresses, |
| uint32_t | node_rank | ||
| ) |
| bool rdmc::send | ( | uint16_t | group_number, |
| std::shared_ptr< rdma::memory_region > | mr, | ||
| size_t | offset, | ||
| size_t | length | ||
| ) |
| bool rdmc::send | ( | uint16_t | group_number, |
| shared_ptr< memory_region > | mr, | ||
| size_t | offset, | ||
| size_t | length | ||
| ) |
1.8.13