1 /* 2 * Copyright (c) 2011-2015 The University of Tennessee and The University 3 * of Tennessee Research Foundation. All rights 4 * reserved. 5 * Copyright (c) 2011-2015 INRIA. All rights reserved. 6 * Copyright (c) 2011-2015 Bordeaux Polytechnic Institute 7 * Copyright (c) 2015 Research Organization for Information Science 8 * and Technology (RIST). All rights reserved. 9 * Copyright (c) 2016-2017 IBM Corporation. All rights reserved. 10 * $COPYRIGHT$ 11 * 12 * Additional copyrights may follow 13 * 14 * $HEADER$ 15 */ 16 17 #ifndef MCA_TOPO_UNTIY_H 18 #define MCA_TOPO_UNTIY_H 19 20 #include "ompi_config.h" 21 #include "ompi/mca/topo/topo.h" 22 23 /* 24 * ****************************************************************** 25 * ******** functions which provide MCA interface comppliance ******* 26 * ****************************************************************** 27 * These functions are: 28 * - mca_topo_treematch_module_open 29 * - mca_topo_treematch_module_close 30 * - mca_topo_treematch_module_query 31 * - mca_topo_treematch_module_finalize 32 * These functions are always found on the mca_topo_treematch_module 33 * structure. They are the "meta" functions to ensure smooth op. 34 * ****************************************************************** 35 */ 36 BEGIN_C_DECLS 37 38 /* 39 * Public component instance 40 */ 41 typedef struct mca_topo_treematch_component_2_2_0_t { 42 mca_topo_base_component_2_2_0_t super; 43 44 int reorder_mode; 45 } mca_topo_treematch_component_2_2_0_t; 46 47 OMPI_MODULE_DECLSPEC extern mca_topo_treematch_component_2_2_0_t 48 mca_topo_treematch_component; 49 50 /* 51 * A unique module class for the module so that we can both cache 52 * module-specific information on the module and have a 53 * module-specific constructor and destructor. 54 */ 55 typedef struct { 56 mca_topo_base_module_t super; 57 58 /* Modules can add their own information here */ 59 } mca_topo_treematch_module_t; 60 61 OBJ_CLASS_DECLARATION(mca_topo_treematch_module_t); 62 63 64 /* 65 * Module functions 66 */ 67 68 int mca_topo_treematch_dist_graph_create(mca_topo_base_module_t* module, 69 ompi_communicator_t *comm_old, 70 int n, const int nodes[], 71 const int degrees[], const int targets[], 72 const int weights[], 73 struct opal_info_t *info, int reorder, 74 ompi_communicator_t **newcomm); 75 /* 76 * ****************************************************************** 77 * ************ functions implemented in this module end ************ 78 * ****************************************************************** 79 */ 80 81 END_C_DECLS 82 83 #endif /* MCA_TOPO_EXAMPLE_H */