XGC1
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
AsyncReassignment Class Reference

#include <async_reassignment.hpp>

Collaboration diagram for AsyncReassignment:
Collaboration graph
[legend]

Public Member Functions

 AsyncReassignment ()
 
void toy_problem_rebalance (const CollisionGrid< DeviceType > &col_grid, const DomainDecomposition< DeviceType > &pol_decomp)
 
void rebalance (const CollisionGrid< DeviceType > &col_grid, const DomainDecomposition< DeviceType > &pol_decomp, const VertexList &assigned_original)
 
void rebalance_plan (const CollisionGrid< DeviceType > &col_grid, const DomainDecomposition< DeviceType > &pol_decomp, VertexList &assigned_original)
 
 AsyncReassignment (const DomainDecomposition< DeviceType > &pol_decomp, const CollisionGrid< DeviceType > &col_grid, const CollisionSpecies< DeviceType > &col_spall, const VGridDistribution< HostType > &df0g_tmp, const View< double *, CLayout, HostType > &node_cost, VertexList &assigned_original)
 
void execute (const CollisionGrid< DeviceType > &col_grid, double dt, const DomainDecomposition< DeviceType > &pol_decomp, const CollisionSpecies< DeviceType > &col_spall, const View< int *, CLayout, HostType > &converged_all, const VGridDistribution< HostType > &df0g_tmp, const View< double *, CLayout, HostType > &node_cost)
 

Private Attributes

bool this_rank_sends_work
 
bool this_rank_recvs_work
 
DistributionPlan send_plan
 
DistributionPlan recv_plan
 
DistributionPlan res_send_plan
 
DistributionPlan res_recv_plan
 
VertexBuffer< HostTypeinp_buffer
 
VertexBuffer< HostTyperes_buffer
 
VertexList assigned
 
int first_send_offset
 
int rank_sending_to_my_rank
 
int recv_global_offset
 

Static Private Attributes

static constexpr bool ASYNC_TRANSFER = true
 

Constructor & Destructor Documentation

◆ AsyncReassignment() [1/2]

AsyncReassignment::AsyncReassignment ( )
inline

◆ AsyncReassignment() [2/2]

AsyncReassignment::AsyncReassignment ( const DomainDecomposition< DeviceType > &  pol_decomp,
const CollisionGrid< DeviceType > &  col_grid,
const CollisionSpecies< DeviceType > &  col_spall,
const VGridDistribution< HostType > &  df0g_tmp,
const View< double *, CLayout, HostType > &  node_cost,
VertexList assigned_original 
)
inline
Here is the call graph for this function:

Member Function Documentation

◆ execute()

void AsyncReassignment::execute ( const CollisionGrid< DeviceType > &  col_grid,
double  dt,
const DomainDecomposition< DeviceType > &  pol_decomp,
const CollisionSpecies< DeviceType > &  col_spall,
const View< int *, CLayout, HostType > &  converged_all,
const VGridDistribution< HostType > &  df0g_tmp,
const View< double *, CLayout, HostType > &  node_cost 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rebalance()

void AsyncReassignment::rebalance ( const CollisionGrid< DeviceType > &  col_grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const VertexList assigned_original 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rebalance_plan()

void AsyncReassignment::rebalance_plan ( const CollisionGrid< DeviceType > &  col_grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
VertexList assigned_original 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ toy_problem_rebalance()

void AsyncReassignment::toy_problem_rebalance ( const CollisionGrid< DeviceType > &  col_grid,
const DomainDecomposition< DeviceType > &  pol_decomp 
)
inline

Member Data Documentation

◆ assigned

VertexList AsyncReassignment::assigned
private

◆ ASYNC_TRANSFER

constexpr bool AsyncReassignment::ASYNC_TRANSFER = true
staticconstexprprivate

◆ first_send_offset

int AsyncReassignment::first_send_offset
private

◆ inp_buffer

VertexBuffer<HostType> AsyncReassignment::inp_buffer
private

◆ rank_sending_to_my_rank

int AsyncReassignment::rank_sending_to_my_rank
private

◆ recv_global_offset

int AsyncReassignment::recv_global_offset
private

◆ recv_plan

DistributionPlan AsyncReassignment::recv_plan
private

◆ res_buffer

VertexBuffer<HostType> AsyncReassignment::res_buffer
private

◆ res_recv_plan

DistributionPlan AsyncReassignment::res_recv_plan
private

◆ res_send_plan

DistributionPlan AsyncReassignment::res_send_plan
private

◆ send_plan

DistributionPlan AsyncReassignment::send_plan
private

◆ this_rank_recvs_work

bool AsyncReassignment::this_rank_recvs_work
private

◆ this_rank_sends_work

bool AsyncReassignment::this_rank_sends_work
private

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