OpenMPI  0.1.1
coll_sm_module.c File Reference

Warning: this is not for the faint of heart – don't even bother reading this source code if you don't have a strong understanding of nested data structures and pointer math (remember that associativity and order of C operations is critical in terms of pointer math!). More...

#include "ompi_config.h"
#include <stdio.h>
#include <sys/types.h>
#include "mpi.h"
#include "opal_stdint.h"
#include "opal/mca/maffinity/maffinity.h"
#include "opal/mca/maffinity/base/base.h"
#include "opal/util/os_path.h"
#include "orte/util/proc_info.h"
#include "orte/util/name_fns.h"
#include "ompi/communicator/communicator.h"
#include "ompi/group/group.h"
#include "ompi/mca/coll/coll.h"
#include "ompi/mca/coll/base/base.h"
#include "ompi/proc/proc.h"
#include "coll_sm.h"

Functions

static int sm_module_enable (mca_coll_base_module_t *module, struct ompi_communicator_t *comm)
 
static bool have_local_peers (ompi_group_t *group, size_t size)
 
static int bootstrap_comm (ompi_communicator_t *comm, mca_coll_sm_module_t *module)
 
static void mca_coll_sm_module_construct (mca_coll_sm_module_t *module)
 
static void mca_coll_sm_module_destruct (mca_coll_sm_module_t *module)
 
 OBJ_CLASS_INSTANCE (mca_coll_sm_module_t, mca_coll_base_module_t, mca_coll_sm_module_construct, mca_coll_sm_module_destruct)
 
int mca_coll_sm_init_query (bool enable_progress_threads, bool enable_mpi_threads)
 
mca_coll_base_module_tmca_coll_sm_comm_query (struct ompi_communicator_t *comm, int *priority)
 
int ompi_coll_sm_lazy_enable (mca_coll_base_module_t *module, struct ompi_communicator_t *comm)
 
int mca_coll_sm_ft_event (int state)
 

Variables

uint32_t mca_coll_sm_one = 1
 Global variables used in the macros (essentially constants, so these are thread safe)
 

Detailed Description

Warning: this is not for the faint of heart – don't even bother reading this source code if you don't have a strong understanding of nested data structures and pointer math (remember that associativity and order of C operations is critical in terms of pointer math!).