QuIDS: Quantum Irregular Dynamic Simulator
Public Member Functions | Friends
quids::mpi::mpi_symbolic_iteration Class Reference

symbolic mpi iteration (computation intermediary) More...

#include <quids_mpi.hpp>

Inheritance diagram for quids::mpi::mpi_symbolic_iteration:
quids::symbolic_iteration

Public Member Functions

 mpi_symbolic_iteration ()
 simple constructor
 
size_t get_total_num_object (MPI_Comm communicator) const
 getter for the total amount of distributed objects. More...
 
size_t get_total_num_object_after_interferences (MPI_Comm communicator) const
 getter for the total amount of distributed objects after duplicate elimination. More...
 
- Public Member Functions inherited from quids::symbolic_iteration
 symbolic_iteration ()
 simple constructor
 

Friends

void simulate (mpi_it_t &iteration, quids::rule_t const *rule, mpi_it_t &next_iteration, mpi_sy_it_t &symbolic_iteration, MPI_Comm communicator, size_t max_num_object, quids::debug_t mid_step_function)
 function to apply a dynamic to a wave function distributed accross multiple nodes More...
 

Additional Inherited Members

- Data Fields inherited from quids::symbolic_iteration
size_t num_object = 0
 number of objects considered in the symbolic step
 
size_t num_object_after_interferences = 0
 number of objects obrained after eliminating duplicates
 
- Protected Attributes inherited from quids::symbolic_iteration
size_t next_iteration_num_object = 0
 
std::vector< char * > placeholder
 
utils::fast_vector< mag_tmagnitude
 
utils::fast_vector< size_t > next_oid
 
utils::fast_vector< uint > size
 
utils::fast_vector< size_t > hash
 
utils::fast_vector< size_t > parent_oid
 
utils::fast_vector< uint > child_id
 
utils::fast_vector< float > random_selector
 
utils::fast_vector< size_t > next_oid_partitioner_buffer
 

Detailed Description

symbolic mpi iteration (computation intermediary)

Member Function Documentation

◆ get_total_num_object()

size_t quids::mpi::mpi_symbolic_iteration::get_total_num_object ( MPI_Comm  communicator) const
inline

getter for the total amount of distributed objects.

Parameters
[in]communicatorMPI communcator.

◆ get_total_num_object_after_interferences()

size_t quids::mpi::mpi_symbolic_iteration::get_total_num_object_after_interferences ( MPI_Comm  communicator) const
inline

getter for the total amount of distributed objects after duplicate elimination.

Parameters
[in]communicatorMPI communcator.

Friends And Related Function Documentation

◆ simulate

void simulate ( mpi_it_t iteration,
quids::rule_t const *  rule,
mpi_it_t next_iteration,
mpi_sy_it_t symbolic_iteration,
MPI_Comm  communicator,
size_t  max_num_object = 0,
quids::debug_t  mid_step_function = [](const char*){} 
)
friend

function to apply a dynamic to a wave function distributed accross multiple nodes

Parameters
[in]iterationwavefunction that the dynamic will be applied to.
[in]ruledynamic that will be applied.
[out]next_iterationwave function that will be overwritten to then contained the final wave function.
[out]symbolic_iterationsymbolic iteration that will be used.
[in]communicatorMPI communcator.
[in]max_num_objectmaximum number of objects to be kept per node, -1 means no maximum, 0 means automaticaly finding the maximum ammount of objects that can be kept in memory.
[in]mid_step_functiondebuging function called between steps.

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