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

Virtual class to run and evaluate implementation on a input specified by index number. More...

#include <RunImpOnInput.h>

Inheritance diagram for RunImpOnInput< T, OPT_IMP_ACCEL, NUM_INPUT >:

Public Member Functions

virtual MultRunData operator() (const run_environment::RunImpSettings &run_imp_settings)=0
 

Protected Member Functions

virtual std::shared_ptr< ParallelParamsSetUpParallelParams (const run_environment::RunImpSettings &run_imp_settings) const =0
 Set up parallel parameters for benchmark. More...
 
virtual RunData InputAndParamsForCurrBenchmark (bool loop_iters_templated) const =0
 Retrieve input and parameters for run of current benchmark. More...
 
virtual std::optional< RunDataRunImpsAndCompare (std::shared_ptr< ParallelParams > parallel_params, bool run_opt_imp_only, bool run_imp_templated_loop_iters) const =0
 Run one or two implementations of benchmark and compare results if running multiple implementations. More...
 
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 RunImpOnInput< T, OPT_IMP_ACCEL, NUM_INPUT >

Virtual class to run and evaluate implementation on a input specified by index number.

Template Parameters
T
OPT_IMP_ACCEL
NUM_INPUT

Definition at line 53 of file RunImpOnInput.h.

Member Function Documentation

◆ InputAndParamsForCurrBenchmark()

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

Retrieve input and parameters for run of current benchmark.

Parameters
loop_iters_templated
Returns
RunData object with input data and parameter info about current benchmark

Implemented in RunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT >.

Here is the caller graph for this function:

◆ InputAndParamsRunData()

template<RunData_t T, run_environment::AccSetting OPT_IMP_ACCEL, unsigned int NUM_INPUT>
RunData RunImpOnInput< T, OPT_IMP_ACCEL, NUM_INPUT >::InputAndParamsRunData ( bool  loop_iters_templated) const
inlineprotected

Get current run inputs and parameters in RunData structure.

Parameters
loop_iters_templated
Returns
Current run inputs and parameters in RunData structure

Definition at line 99 of file RunImpOnInput.h.

Here is the call graph for this function:

◆ operator()()

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

◆ RunEvalBenchmark()

template<RunData_t T, run_environment::AccSetting OPT_IMP_ACCEL, unsigned int NUM_INPUT>
MultRunData::mapped_type RunImpOnInput< T, OPT_IMP_ACCEL, NUM_INPUT >::RunEvalBenchmark ( const run_environment::RunImpSettings run_imp_settings,
bool  run_w_loop_iters_templated 
) const
inlineprotected

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.

Parameters
run_imp_settings
run_w_loop_iters_templated
Returns
Run results from running and evaluating benchmark

Definition at line 120 of file RunImpOnInput.h.

Here is the call graph for this function:

◆ RunImpsAndCompare()

template<RunData_t T, run_environment::AccSetting OPT_IMP_ACCEL, unsigned int NUM_INPUT>
virtual std::optional<RunData> RunImpOnInput< 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
protectedpure virtual

Run one or two implementations of benchmark and compare results if running multiple implementations.

Parameters
parallel_params
run_opt_imp_only
run_imp_templated_loop_iters
Returns
Restults of running and comparing implementations or null output if error in run

Implemented in RunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT >.

Here is the caller graph for this function:

◆ SetUpParallelParams()

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

Set up parallel parameters for benchmark.

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

Implemented in RunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT >.

Here is the caller graph for this function:

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