1
1
openmpi/ompi/mca/topo/treematch/topo_treematch.h
George Bosilca e239de581b Create a new topology framework using the TreeMatch library developped
at Inria Bordeaux. This allows us to take advantage of the remap
capability of MPI to rearrange the ranks beased on the weights
povided by the application.

Fix the indentation and protect with __DEBUG__ one fprintf.

Add the Cecill-B license to the imported library.

Fix a compiler warning.

Restrict the TreeMatch dependencies.

The TreeMatch software is released under BSD3 (as indicated by their
copyright information @
https://gforge.inria.fr/scm/viewvc.php/COPYING?view=markup&root=treematch).

Update the README.
2015-07-25 13:30:42 -04:00

81 строка
2.5 KiB
C

/*
* Copyright (c) 2011-2015 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2011-2015 INRIA. All rights reserved.
* Copyright (c) 2011-2015 Bordeaux Polytechnic Institute
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef MCA_TOPO_UNTIY_H
#define MCA_TOPO_UNTIY_H
#include "ompi_config.h"
#include "ompi/mca/topo/topo.h"
/*
* ******************************************************************
* ******** functions which provide MCA interface comppliance *******
* ******************************************************************
* These functions are:
* - mca_topo_treematch_module_open
* - mca_topo_treematch_module_close
* - mca_topo_treematch_module_query
* - mca_topo_treematch_module_finalize
* These functions are always found on the mca_topo_treematch_module
* structure. They are the "meta" functions to ensure smooth op.
* ******************************************************************
*/
BEGIN_C_DECLS
/*
* Public component instance
*/
typedef struct mca_topo_treematch_component_2_2_0_t {
mca_topo_base_component_2_2_0_t super;
int reorder_mode;
} mca_topo_treematch_component_2_2_0_t;
OMPI_MODULE_DECLSPEC extern mca_topo_treematch_component_2_2_0_t
mca_topo_treematch_component;
/*
* A unique module class for the module so that we can both cache
* module-specific information on the module and have a
* module-specific constructor and destructor.
*/
typedef struct {
mca_topo_base_module_t super;
/* Modules can add their own information here */
} mca_topo_treematch_module_t;
OBJ_CLASS_DECLARATION(mca_topo_treematch_module_t);
/*
* Module functions
*/
int mca_topo_treematch_dist_graph_create(mca_topo_base_module_t* module,
ompi_communicator_t *comm_old,
int n, int nodes[],
int degrees[], int targets[],
int weights[],
struct ompi_info_t *info, int reorder,
ompi_communicator_t **newcomm);
/*
* ******************************************************************
* ************ functions implemented in this module end ************
* ******************************************************************
*/
END_C_DECLS
#endif /* MCA_TOPO_EXAMPLE_H */