SimGrid  3.13
Versatile Simulation of Distributed Systems
smpi_topo.cpp File Reference
#include "xbt/sysdep.h"
#include "smpi/smpi.h"
#include "private.h"
#include <math.h>

Classes

struct  s_smpi_mpi_cart_topology
 
struct  s_smpi_mpi_graph_topology
 
struct  s_smpi_dist_graph_topology
 
struct  s_smpi_mpi_topology
 
union  s_smpi_mpi_topology::topo
 

Typedefs

typedef struct s_smpi_mpi_cart_topology s_smpi_mpi_cart_topology_t
 
typedef struct s_smpi_mpi_graph_topology s_smpi_mpi_graph_topology_t
 
typedef struct s_smpi_dist_graph_topology s_smpi_mpi_dist_graph_topology_t
 
typedef struct s_smpi_mpi_topology s_smpi_mpi_topology_t
 

Functions

void smpi_topo_destroy (MPI_Topology topo)
 
MPI_Topology smpi_topo_create (MPIR_Topo_type kind)
 
void smpi_cart_topo_destroy (MPIR_Cart_Topology cart)
 
MPI_Topology smpi_cart_topo_create (int ndims)
 
int smpi_mpi_cart_create (MPI_Comm comm_old, int ndims, int dims[], int periods[], int reorder, MPI_Comm *comm_cart)
 
int smpi_mpi_cart_sub (MPI_Comm comm, const int remain_dims[], MPI_Comm *newcomm)
 
int smpi_mpi_cart_coords (MPI_Comm comm, int rank, int maxdims, int coords[])
 
int smpi_mpi_cart_get (MPI_Comm comm, int maxdims, int *dims, int *periods, int *coords)
 
int smpi_mpi_cart_rank (MPI_Comm comm, int *coords, int *rank)
 
int smpi_mpi_cart_shift (MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest)
 
int smpi_mpi_cartdim_get (MPI_Comm comm, int *ndims)
 
static int assignnodes (int ndim, int nfactor, int *pfacts, int **pdims)
 
static int getfactors (int num, int *nfators, int **factors)
 
int smpi_mpi_dims_create (int nnodes, int ndims, int dims[])
 

Typedef Documentation

Function Documentation

void smpi_topo_destroy ( MPI_Topology  topo)
MPI_Topology smpi_topo_create ( MPIR_Topo_type  kind)
void smpi_cart_topo_destroy ( MPIR_Cart_Topology  cart)
MPI_Topology smpi_cart_topo_create ( int  ndims)
int smpi_mpi_cart_create ( MPI_Comm  comm_old,
int  ndims,
int  dims[],
int  periods[],
int  reorder,
MPI_Comm *  comm_cart 
)
int smpi_mpi_cart_sub ( MPI_Comm  comm,
const int  remain_dims[],
MPI_Comm *  newcomm 
)
int smpi_mpi_cart_coords ( MPI_Comm  comm,
int  rank,
int  maxdims,
int  coords[] 
)
int smpi_mpi_cart_get ( MPI_Comm  comm,
int  maxdims,
int *  dims,
int *  periods,
int *  coords 
)
int smpi_mpi_cart_rank ( MPI_Comm  comm,
int *  coords,
int *  rank 
)
int smpi_mpi_cart_shift ( MPI_Comm  comm,
int  direction,
int  disp,
int *  rank_source,
int *  rank_dest 
)
int smpi_mpi_cartdim_get ( MPI_Comm  comm,
int *  ndims 
)
static int assignnodes ( int  ndim,
int  nfactor,
int *  pfacts,
int **  pdims 
)
static
static int getfactors ( int  num,
int *  nfators,
int **  factors 
)
static
int smpi_mpi_dims_create ( int  nnodes,
int  ndims,
int  dims[] 
)