Optimized Belief Propagation (CPU and GPU)
RunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT > Class Template Referencefinal

Child class of RunImpOnInput to run and evaluate belief propagation implementation on a specified input. More...

#include <RunImpOnInputBp.h>

Inheritance diagram for RunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT >:
Collaboration diagram for RunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT >:

Public Member Functions

MultRunData operator() (const run_environment::RunImpSettings &run_imp_settings) override
 Run and evaluate optimized belief propagation implementation on evaluation stereo set specified by NUM_INPUT. Data type used in implementation specified by class template parameter T. Bp implemenation optimization specified by class template constant OPT_IMP_ACCEL. Evaluation stereo set to run implementation on specified by class template integral constant NUM_INPUT. More...
 

Protected Member Functions

std::shared_ptr< ParallelParamsSetUpParallelParams (const run_environment::RunImpSettings &run_imp_settings) const override
 Set up parallel parameters for running belief propagation in parallel on CPU or GPU. More...
 
RunData InputAndParamsForCurrBenchmark (bool loop_iters_templated) const override
 Get input data and parameter info about current benchmark (belief propagation in this case) and return as RunData type. More...
 
std::optional< RunDataRunImpsAndCompare (std::shared_ptr< ParallelParams > parallel_params, bool run_opt_imp_only, bool run_imp_templated_loop_iters) const override
 Run and compare output disparity maps using the given optimized and single-threaded bp implementations on the reference and test images specified by NUM_INPUT given as class template integral constant parameter.
Run only optimized implementation if run_opt_imp_only is true. More...
 
- Protected Member Functions inherited from RunImpOnInput< T, OPT_IMP_ACCEL, NUM_INPUT >
RunData InputAndParamsRunData (bool loop_iters_templated) const
 Get current run inputs and parameters in RunData structure. More...
 
MultRunData::mapped_type RunEvalBenchmark (const run_environment::RunImpSettings &run_imp_settings, bool run_w_loop_iters_templated) const
 Run optimized and single threaded implementations using multiple sets of parallel parameters in optimized implementation if set to optimize parallel parameters
Returns data from runs using default and optimized parallel parameters. More...
 

Detailed Description

template<RunData_t T, run_environment::AccSetting OPT_IMP_ACCEL, unsigned int NUM_INPUT>
class RunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT >

Child class of RunImpOnInput to run and evaluate belief propagation implementation on a specified input.

Template Parameters
T
OPT_IMP_ACCEL
NUM_INPUT

Definition at line 95 of file RunImpOnInputBp.h.

Member Function Documentation

◆ InputAndParamsForCurrBenchmark()

template<RunData_t T, run_environment::AccSetting OPT_IMP_ACCEL, unsigned int NUM_INPUT>
RunData RunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT >::InputAndParamsForCurrBenchmark ( bool  loop_iters_templated) const
overrideprotectedvirtual

Get input data and parameter info about current benchmark (belief propagation in this case) and return as RunData type.

Parameters
loop_iters_templated
Returns
RunData object containing input data and parameters for current benchmark

Implements RunImpOnInput< T, OPT_IMP_ACCEL, NUM_INPUT >.

Definition at line 262 of file RunImpOnInputBp.h.

Here is the call graph for this function:

◆ operator()()

template<RunData_t T, run_environment::AccSetting OPT_IMP_ACCEL, unsigned int NUM_INPUT>
MultRunData RunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT >::operator() ( const run_environment::RunImpSettings run_imp_settings)
overridevirtual

Run and evaluate optimized belief propagation implementation on evaluation stereo set specified by NUM_INPUT. Data type used in implementation specified by class template parameter T. Bp implemenation optimization specified by class template constant OPT_IMP_ACCEL. Evaluation stereo set to run implementation on specified by class template integral constant NUM_INPUT.

Parameters
run_imp_settings
Returns
Run results from running and evaluating optimized belief propagation implementation

Implements RunImpOnInput< T, OPT_IMP_ACCEL, NUM_INPUT >.

Definition at line 184 of file RunImpOnInputBp.h.

◆ RunImpsAndCompare()

template<RunData_t T, run_environment::AccSetting OPT_IMP_ACCEL, unsigned int NUM_INPUT>
std::optional< RunData > RunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT >::RunImpsAndCompare ( std::shared_ptr< ParallelParams parallel_params,
bool  run_opt_imp_only,
bool  run_imp_templated_loop_iters 
) const
overrideprotectedvirtual

Run and compare output disparity maps using the given optimized and single-threaded bp implementations on the reference and test images specified by NUM_INPUT given as class template integral constant parameter.
Run only optimized implementation if run_opt_imp_only is true.

Parameters
parallel_params
run_opt_imp_only
run_imp_templated_loop_iters
Returns
Run data from running optimized and single-threaded bp implementations

Implements RunImpOnInput< T, OPT_IMP_ACCEL, NUM_INPUT >.

Definition at line 280 of file RunImpOnInputBp.h.

Here is the call graph for this function:

◆ SetUpParallelParams()

template<RunData_t T, run_environment::AccSetting OPT_IMP_ACCEL, unsigned int NUM_INPUT>
std::shared_ptr< ParallelParams > RunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT >::SetUpParallelParams ( const run_environment::RunImpSettings run_imp_settings) const
overrideprotectedvirtual

Set up parallel parameters for running belief propagation in parallel on CPU or GPU.

Parameters
run_imp_settings
Returns
Shared pointer to parallel parameters as set up for run

Implements RunImpOnInput< T, OPT_IMP_ACCEL, NUM_INPUT >.

Definition at line 248 of file RunImpOnInputBp.h.


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