MaMiCo 1.2
Loading...
Searching...
No Matches
coupling::paralleltopology Namespace Reference

Classes

class  ParallelTopology
 This class performs the conversion rank <-> process coordinates. More...
 
class  ParallelTopologyFactory
 creates the parallel topology from a given topology type and a number of processes More...
 
class  XYZTopology
 The XYZTopology orders the ranks in x-y-z manner. More...
 
class  ZYXTopology
 The ZYXTopology orders the ranks in z-y-x manner. More...
 

Enumerations

enum  ParallelTopologyType { UNDEFINED = 0 , XYZ = 1 , ZYX = 2 }
 

Detailed Description

namespace coupling

Enumeration Type Documentation

◆ ParallelTopologyType

parallel topology types that are supported. specifies the ordering of the MPI processes (for domain decomposition). As an example: assuming ParallelTopologyType = XYZ and there is a cubic domain, splitted into 8 sub-domains (2 sub-domains in each dimension). Then the ordring of the MPI processes is: Rank=0 for x=0,y=0,z=0. Rank=1 for x=0,y=0,z=1. Rank=2 for x=0,y=1,z=0. Rank=3 for x=0,1=0,z=1. Rank=4 for x=1,y=0,z=0. Rank=5 for x=1,y=0,z=1. Rank=6 for x=1,y=1,z=0. Rank=7 for x=1,y=1,z=1.

Enumerator
UNDEFINED 

gherghere gher

XYZ 

the XYZTopology orders the ranks in x-y-z manner, i.e. we obtain the rank from process coordinates (x,y,z) by z*nx*ny + y*nx + x=x + nx*(y+ny*z)

ZYX 

the ZYXTopology orders the ranks in z-y-x manner, i.e. we obtain the rank from process coordinates (z,y,x) by x*nz*ny + y*nz + z=z + nz*(y+ny*x)