OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

Functions | Variables
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_t * | mca_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!).