OpenMPI
0.1.1
|
#include "ompi_config.h"
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <xpmem.h>
#include "opal/include/opal/align.h"
#include "opal/class/opal_free_list.h"
#include "opal/sys/atomic.h"
#include "ompi/mca/btl/btl.h"
#include "ompi/mca/mpool/mpool.h"
#include "ompi/mca/mpool/base/base.h"
#include "ompi/mca/mpool/sm/mpool_sm.h"
#include "ompi/mca/common/sm/common_sm.h"
#include "ompi/mca/rcache/rcache.h"
#include "ompi/mca/rcache/base/base.h"
Go to the source code of this file.
Data Structures | |
struct | mca_btl_vader_component_t |
Shared Memory (VADER) BTL module. More... | |
struct | mca_btl_vader_t |
VADER BTL Interface. More... | |
Typedefs | |
typedef struct mca_btl_vader_component_t | mca_btl_vader_component_t |
typedef struct mca_btl_vader_t | mca_btl_vader_t |
Functions | |
static mca_mpool_base_registration_t * | vader_get_registation (int peer_smp_rank, void *rem_ptr, size_t size, int flags) |
static void | vader_return_registration (mca_mpool_base_registration_t *reg, int peer_smp_rank) |
static void * | vader_reg_to_ptr (mca_mpool_base_registration_t *reg, void *rem_ptr) |
static void | vader_memmove (void *dst, void *src, size_t size) |
int | mca_btl_vader_send (struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *endpoint, struct mca_btl_base_descriptor_t *descriptor, mca_btl_base_tag_t tag) |
Initiate a send to the peer. More... | |
int | mca_btl_vader_sendi (struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *endpoint, struct opal_convertor_t *convertor, void *header, size_t header_size, size_t payload_size, uint8_t order, uint32_t flags, mca_btl_base_tag_t tag, mca_btl_base_descriptor_t **descriptor) |
Initiate an inline send to the peer. More... | |
int | mca_btl_vader_put (struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *endpoint, struct mca_btl_base_descriptor_t *des) |
Initiate an synchronous put. More... | |
int | mca_btl_vader_get (struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *endpoint, struct mca_btl_base_descriptor_t *des) |
Initiate an synchronous get. More... | |
mca_btl_base_descriptor_t * | mca_btl_vader_alloc (struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *endpoint, uint8_t order, size_t size, uint32_t flags) |
Allocate a segment. More... | |
Variables | |
int | mca_btl_vader_memcpy_limit |
int | mca_btl_vader_log_align |
int | mca_btl_vader_max_inline_send |
OMPI_MODULE_DECLSPEC mca_btl_vader_component_t | mca_btl_vader_component |
OMPI_MODULE_DECLSPEC mca_btl_vader_t | mca_btl_vader |
mca_btl_base_descriptor_t* mca_btl_vader_alloc | ( | struct mca_btl_base_module_t * | btl, |
struct mca_btl_base_endpoint_t * | endpoint, | ||
uint8_t | order, | ||
size_t | size, | ||
uint32_t | flags | ||
) |
Allocate a segment.
btl | (IN) BTL module |
size | (IN) Request segment size. |
References mca_btl_base_descriptor_t::des_dst, mca_btl_base_descriptor_t::des_flags, mca_btl_base_descriptor_t::des_src, mca_btl_base_descriptor_t::des_src_cnt, mca_btl_vader_component_t::eager_limit, mca_btl_base_descriptor_t::order, and mca_btl_base_segment_t::seg_len.
Referenced by mca_btl_vader_sendi().
int mca_btl_vader_get | ( | struct mca_btl_base_module_t * | btl, |
struct mca_btl_base_endpoint_t * | endpoint, | ||
struct mca_btl_base_descriptor_t * | des | ||
) |
Initiate an synchronous get.
btl | (IN) BTL module |
endpoint | (IN) BTL addressing information |
descriptor | (IN) Description of the data to be transferred |
References mca_btl_base_descriptor_t::des_dst, mca_btl_base_descriptor_t::des_src, mca_btl_base_endpoint_t::peer_smp_rank, mca_btl_base_segment_t::seg_key, and mca_btl_base_segment_t::seg_len.
int mca_btl_vader_put | ( | struct mca_btl_base_module_t * | btl, |
struct mca_btl_base_endpoint_t * | endpoint, | ||
struct mca_btl_base_descriptor_t * | des | ||
) |
Initiate an synchronous put.
btl | (IN) BTL module |
endpoint | (IN) BTL addressing information |
descriptor | (IN) Description of the data to be transferred |
References mca_btl_base_descriptor_t::des_dst, mca_btl_base_descriptor_t::des_flags, mca_btl_base_descriptor_t::des_src, mca_btl_base_endpoint_t::peer_smp_rank, mca_btl_base_segment_t::seg_key, and mca_btl_base_segment_t::seg_len.
int mca_btl_vader_send | ( | struct mca_btl_base_module_t * | btl, |
struct mca_btl_base_endpoint_t * | endpoint, | ||
struct mca_btl_base_descriptor_t * | descriptor, | ||
mca_btl_base_tag_t | tag | ||
) |
Initiate a send to the peer.
btl | (IN) BTL module |
peer | (IN) BTL peer addressing |
References mca_btl_vader_component_t::active_sends, mca_btl_base_descriptor_t::des_flags, opal_list_append, mca_btl_base_endpoint_t::peer_smp_rank, mca_btl_base_segment_t::seg_addr, and mca_btl_base_segment_t::seg_len.
int mca_btl_vader_sendi | ( | struct mca_btl_base_module_t * | btl, |
struct mca_btl_base_endpoint_t * | endpoint, | ||
struct opal_convertor_t * | convertor, | ||
void * | header, | ||
size_t | header_size, | ||
size_t | payload_size, | ||
uint8_t | order, | ||
uint32_t | flags, | ||
mca_btl_base_tag_t | tag, | ||
mca_btl_base_descriptor_t ** | descriptor | ||
) |
Initiate an inline send to the peer.
btl | (IN) BTL module |
peer | (IN) BTL peer addressing |
References mca_btl_vader_component_t::active_sends, mca_btl_vader_component_t::eager_limit, mca_btl_vader_alloc(), opal_list_append, mca_btl_base_endpoint_t::peer_smp_rank, and mca_btl_base_segment_t::seg_addr.