perun.coordination

Coordination module.

Module Contents

Functions

getHostRankDict(→ Dict[str, List[int]])

Return a dictionary with all the host names with each MPI rank in them.

getGlobalSensorRankConfiguration(→ List[Dict[str, ...)

Gather available sensor information from every MPI rank and assign/unassign sensors to each rank to avoid over sampling.

assignSensors(→ List[Dict[str, Set[str]]])

Assings each mpi rank a sensor based on available backends and Host to rank mapping.

_mergeDicts(→ Dict[str, Set[str]])

Attributes

log

perun.coordination.log
perun.coordination.getHostRankDict(comm: perun.comm.Comm, hostname: str) Dict[str, List[int]]

Return a dictionary with all the host names with each MPI rank in them.

Parameters

commComm

MPI Communicator

hostnamestr

Local rank Hostname

Returns

Dict[str, List[int]]

Global host and mpi ranks dictionary.

perun.coordination.getGlobalSensorRankConfiguration(comm: perun.comm.Comm, backends: Dict[str, perun.backend.backend.Backend], globalHostRanks: Dict[str, List[int]]) List[Dict[str, Set[str]]]

Gather available sensor information from every MPI rank and assign/unassign sensors to each rank to avoid over sampling.

Parameters

commComm

MPI Communicator

backendsDict[str, Backend]

Backend dictionary

globalHostRanksDict[str, List[int]]

Mapping from host to MPI ranks

Returns

List[Dict[str, Set[str]]]

List with apointed backend and sensors for each MPI rank.

perun.coordination.assignSensors(hostBackends: List[Dict[str, Set[str]]], hostNames: Dict[str, List[int]]) List[Dict[str, Set[str]]]

Assings each mpi rank a sensor based on available backends and Host to rank mapping.

Parameters

hostBackendsList[Dict[str, Set[str]]]

List with global backends

hostNamesDict[str, List[int]]

Host to MPI Rank mapping

Returns

List[Dict[str, Set[str]]]

List with apointed backend and sensors for each MPI rank.

perun.coordination._mergeDicts(dict1: Dict[str, Set[str]], dict2: Dict[str, Set[str]]) Dict[str, Set[str]]