← Documentation
ADS-IDAC Engine 5.0.0
bncore::CollectOp Struct Reference

Index tables for the upward (collect) message of one non-root clique u to its parent. More...

#include <workspace.hpp>

Public Attributes

std::size_t product_states
 number of states of the product space More...
 
std::vector< uint32_t > pot_map
 [prod_idx] to flat index in clique u's potential More...
 
std::vector< std::vector< uint32_t > > child_maps
 [child_i][prod_idx] to index in that child's up message More...
 
std::vector< std::size_t > child_cliques
 clique indices of the children, parallel to child_maps More...
 
std::vector< uint32_t > marg_map
 [prod_idx] to index in u's up message (its separator states) More...
 

Detailed Description

Index tables for the upward (collect) message of one non-root clique u to its parent.

The message is formed over a product space: the states of clique u, combined with the separators to its children. For each product state the tables give the flat index of the matching entry in every input and in the output, so the message is a gather, a multiply per child, and a scatter add. All indices address state configurations without the batch dimension; batched buffers are read at index * batch_size + row.

Definition at line 32 of file workspace.hpp.

Member Data Documentation

◆ child_cliques

std::vector<std::size_t> bncore::CollectOp::child_cliques

clique indices of the children, parallel to child_maps

Definition at line 36 of file workspace.hpp.

Referenced by bncore::BatchWorkspace::build_message_schedule(), bncore::BatchWorkspace::calibrate(), and bncore::BatchWorkspace::max_calibrate().

◆ child_maps

std::vector<std::vector<uint32_t> > bncore::CollectOp::child_maps

[child_i][prod_idx] to index in that child's up message

Definition at line 35 of file workspace.hpp.

Referenced by bncore::BatchWorkspace::build_message_schedule(), bncore::BatchWorkspace::calibrate(), and bncore::BatchWorkspace::max_calibrate().

◆ marg_map

std::vector<uint32_t> bncore::CollectOp::marg_map

[prod_idx] to index in u's up message (its separator states)

Definition at line 37 of file workspace.hpp.

Referenced by bncore::BatchWorkspace::build_message_schedule(), bncore::BatchWorkspace::calibrate(), and bncore::BatchWorkspace::max_calibrate().

◆ pot_map

std::vector<uint32_t> bncore::CollectOp::pot_map

[prod_idx] to flat index in clique u's potential

Definition at line 34 of file workspace.hpp.

Referenced by bncore::BatchWorkspace::build_message_schedule(), bncore::BatchWorkspace::calibrate(), and bncore::BatchWorkspace::max_calibrate().

◆ product_states

std::size_t bncore::CollectOp::product_states

number of states of the product space

Definition at line 33 of file workspace.hpp.

Referenced by bncore::BatchWorkspace::build_message_schedule(), bncore::BatchWorkspace::calibrate(), and bncore::BatchWorkspace::max_calibrate().


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