|
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.