X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0a93e4a39449acfaf3679a8ae852752e83230233..dae0945417b60dd56b2d01d3190873f1c7eee08d:/src/smpi/smpi_topo.hpp diff --git a/src/smpi/smpi_topo.hpp b/src/smpi/smpi_topo.hpp index a7a5b552bc..472b927e1c 100644 --- a/src/smpi/smpi_topo.hpp +++ b/src/smpi/smpi_topo.hpp @@ -9,6 +9,12 @@ #include "private.h" +typedef enum MPIR_Topo_type { + MPI_GRAPH=1, + MPI_CART=2, + MPI_DIST_GRAPH=3, + MPI_INVALID_TOPO=-1 +} MPIR_Topo_type; namespace simgrid{ namespace smpi{ @@ -19,18 +25,18 @@ class Topo { }; -class Cart: public Topo { +class Topo_Cart: public Topo { private: - int nnodes_; + int nnodes_ = 0; int ndims_; int *dims_; int *periodic_; int *position_; public: - Cart(int ndims); - ~Cart(); - Cart(MPI_Comm comm_old, int ndims, int dims[], int periods[], int reorder, MPI_Comm *comm_cart); - Cart* sub(const int remain_dims[], MPI_Comm *newcomm) ; + Topo_Cart(int ndims); + ~Topo_Cart(); + Topo_Cart(MPI_Comm comm_old, int ndims, int dims[], int periods[], int reorder, MPI_Comm *comm_cart); + Topo_Cart* sub(const int remain_dims[], MPI_Comm *newcomm) ; int coords(int rank, int maxdims, int coords[]) ; int get(int maxdims, int* dims, int* periods, int* coords); int rank(int* coords, int* rank); @@ -39,18 +45,18 @@ class Cart: public Topo { }; -class Graph: public Topo { +class Topo_Graph: public Topo { private: int nnodes_; int nedges_; int *index_; int *edges_; public: - Graph(); - ~Graph(); + Topo_Graph(); + ~Topo_Graph(); }; -class Dist_Graph: public Topo { +class Topo_Dist_Graph: public Topo { private: int indegree_; int *in_; @@ -60,8 +66,8 @@ class Dist_Graph: public Topo { int *out_weights_; int is_weighted_; public: - Dist_Graph(); - ~Dist_Graph(); + Topo_Dist_Graph(); + ~Topo_Dist_Graph(); }; /*