OpenMPI 0.1.1

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

- File List
- Globals

Data Structures | Functions
op_x86_module_sum.c File Reference

This is the sum module source code. More...

`#include "ompi_config.h"`
`#include "opal/class/opal_object.h"`
`#include "opal/util/output.h"`
`#include "ompi/constants.h"`
`#include "ompi/op/op.h"`
`#include "ompi/mca/op/op.h"`
`#include "ompi/mca/op/base/base.h"`
`#include "ompi/mca/op/x86/op_x86.h"`

## Data Structures
struct | module_sum_t
| SUM module struct, including local cached info. More...

## Functions
static void | module_sum_constructor (module_sum_t *m)
| Sum module constructor.
static void | module_sum_destructor (module_sum_t *m)
| Sum module destructor.
static | OBJ_CLASS_INSTANCE (module_sum_t, ompi_op_base_module_t, module_sum_constructor, module_sum_destructor)
| Setup the class for the sum module, listing: More...
static void | sum_float (void *in, void *out, int *count, ompi_datatype_t **type, ompi_op_base_module_t *module)
| Sum function for C float.
static void | sum_int16_t (void *in, void *out, int *count, ompi_datatype_t **type, ompi_op_base_module_t *module)
| Sum function for C int16_t.
static void | sum_int32_t (void *in, void *out, int *count, ompi_datatype_t **type, ompi_op_base_module_t *module)
| Sum function for C int32_t.
static void | sum_int64_t (void *in, void *out, int *count, ompi_datatype_t **type, ompi_op_base_module_t *module)
| Sum function for C int64_t.
ompi_op_base_module_t * | ompi_op_x86_setup_sum (ompi_op_t *op)
| Setup function for MPI_SUM. More...

## Detailed Description

This is the sum module source code.

It contains the "setup" functions that will create a module for the MPI_SUM MPI_Op.

## Function Documentation

static OBJ_CLASS_INSTANCE | ( | module_sum_t | ,
|  | ompi_op_base_module_t | ,
|  | module_sum_constructor | ,
|  | module_sum_destructor |
| ) |  |
| static

Setup the class for the sum module, listing:

- the name of the class
- the "parent" of the class
- function pointer for the constructor (or NULL)
- function pointer for the destructor (or NULL)

ompi_op_base_module_t* ompi_op_x86_setup_sum | ( | ompi_op_t * | op | ) |

Setup function for MPI_SUM.

Setup for MPI_MAX and return a module.

If we get here, we can assume that a) the hardware is present, b) the MPI thread scenario is what we want, and c) the SUM operation is supported. So this function's job is to create a module and fill in function pointers for the functions that this hardware supports.

References ompi_op_t::intrinsic, ompi_op_t::o_func, OBJ_RETAIN, OMPI_OP_BASE_TYPE_FLOAT, OMPI_OP_BASE_TYPE_INT16_T, OMPI_OP_BASE_TYPE_INT32_T, OMPI_OP_BASE_TYPE_INT64_T, ompi_op_base_module_1_0_0_t::opm_fns, sum_float(), sum_int16_t(), sum_int32_t(), and sum_int64_t().