VTK  9.3.20240424
Public Member Functions | List of all members
vtkDIYExplicitAssigner Class Reference

assigner for use with DIY More...

#include <vtkDIYExplicitAssigner.h>

Inherits diy::StaticAssigner.

Public Member Functions

 vtkDIYExplicitAssigner (diy::mpi::communicator comm, int local_blocks, bool force_power_of_two=false)
 
int rank (int gid) const override
 
void local_gids (int rank, std::vector< int > &gids) const override
 

Detailed Description

assigner for use with DIY

vtkDIYExplicitAssigner is a diy::StaticAssigner specialization that be used where the block assignment is not strictly round-robin or contiguous which assumes blocks equally split among ranks. This supports the case where each rank has arbitrary number of blocks per rank. The constructor is provided the mpi communicator and the number of local blocks. It performs parallel communication to exchange information about blocks with all participating ranks.

vtkDIYExplicitAssigner also supports ability to pad each rank such that the total number of blocks across all ranks is a power of two.

Tests:
vtkDIYExplicitAssigner (Tests)

Definition at line 39 of file vtkDIYExplicitAssigner.h.

Constructor & Destructor Documentation

◆ vtkDIYExplicitAssigner()

vtkDIYExplicitAssigner::vtkDIYExplicitAssigner ( diy::mpi::communicator  comm,
int  local_blocks,
bool  force_power_of_two = false 
)

Member Function Documentation

◆ rank()

int vtkDIYExplicitAssigner::rank ( int  gid) const
override

◆ local_gids()

void vtkDIYExplicitAssigner::local_gids ( int  rank,
std::vector< int > &  gids 
) const
override

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