fpmas 1.6
Public Member Functions | List of all members
fpmas::graph::RandomLoadBalancing< T > Class Template Reference

#include <random_load_balancing.h>

Inheritance diagram for fpmas::graph::RandomLoadBalancing< T >:
Inheritance graph
[legend]
Collaboration diagram for fpmas::graph::RandomLoadBalancing< T >:
Collaboration graph
[legend]

Public Member Functions

 RandomLoadBalancing (api::communication::MpiCommunicator &comm)
 
PartitionMap balance (api::graph::NodeMap< T > nodes) override
 
PartitionMap balance (api::graph::NodeMap< T > nodes, api::graph::PartitionMode) override
 
PartitionMap balance (api::graph::NodeMap< T > nodes, api::graph::PartitionMap fixed_vertices) override
 
PartitionMap balance (api::graph::NodeMap< T > nodes, api::graph::PartitionMap fixed_vertices, api::graph::PartitionMode) override
 
- Public Member Functions inherited from fpmas::api::graph::LoadBalancing< T >
virtual PartitionMap balance (NodeMap< T > nodes)=0
 
virtual PartitionMap balance (NodeMap< T > nodes, PartitionMode partition_mode)=0
 
- Public Member Functions inherited from fpmas::api::graph::FixedVerticesLoadBalancing< T >
virtual PartitionMap balance (NodeMap< T > nodes, PartitionMap fixed_vertices)=0
 
virtual PartitionMap balance (NodeMap< T > nodes, PartitionMap fixed_vertices, PartitionMode partition_mode)=0
 

Detailed Description

template<typename T>
class fpmas::graph::RandomLoadBalancing< T >

Implements a random fpmas::api::graph::LoadBalancing and fpmas::api::graph::FixedVerticesLoadBalancing algorithm.

Nodes are randomly and uniformly assigned to a random process, while assigning fixed_vertices to the corresponding processes when specified.

Constructor & Destructor Documentation

◆ RandomLoadBalancing()

template<typename T >
fpmas::graph::RandomLoadBalancing< T >::RandomLoadBalancing ( api::communication::MpiCommunicator comm)
inline

RandomLoadBalancing constructor.

Parameters
commMPI communicator

Member Function Documentation

◆ balance() [1/4]

template<typename T >
PartitionMap fpmas::graph::RandomLoadBalancing< T >::balance ( api::graph::NodeMap< T >  nodes)
override

Deprecated:
Deprecated in favor of balance(NodeMap<T>, PartitionMode)

Implements fpmas::api::graph::LoadBalancing

◆ balance() [2/4]

template<typename T >
PartitionMap fpmas::graph::RandomLoadBalancing< T >::balance ( api::graph::NodeMap< T >  nodes,
api::graph::PartitionMode  partition_mode 
)
override

Randomly assigns each node to a process.

Implements fpmas::api::graph::LoadBalancing

◆ balance() [3/4]

template<typename T >
PartitionMap fpmas::graph::RandomLoadBalancing< T >::balance ( api::graph::NodeMap< T >  nodes,
api::graph::PartitionMap  fixed_vertices 
)
override

Deprecated:
Deprecated in favor of balance(NodeMap<T>, PartitionMap, PartitionMode)

Implements fpmas::api::graph::FixedVerticesLoadBalancing

◆ balance() [4/4]

template<typename T >
PartitionMap fpmas::graph::RandomLoadBalancing< T >::balance ( api::graph::NodeMap< T >  nodes,
api::graph::PartitionMap  fixed_vertices,
api::graph::PartitionMode   
)
override

Randomly assigns each node to a process, preserving the location of fixed_vertices.

Implements fpmas::api::graph::FixedVerticesLoadBalancing


The documentation for this class was generated from the following file: