Optimized Belief Propagation (CPU and GPU)
run_eval Namespace Reference

Namespace with enums and constants for implementation run evaluation. More...

Classes

struct  OutFileInfo
 

Enumerations

enum class  Status { kNoError , kError }
 Enum for status to indicate if error or no error. More...
 
enum class  MiddleValData { kAverage , kMedian }
 Enum to specify average or median for "middle" value in data. More...
 
enum class  OutResults { kDefaultPParams , kOptPParams , kSpeedups , kOptWSpeedups }
 

Variables

constexpr std::array< size_t, 3 > kDataTypesEvalSizes
 
constexpr bool kRunAltOptimizedImps {true}
 
constexpr run_environment::TemplatedItersSetting kTemplatedItersEvalSettings
 
constexpr std::array< std::string_view, 2 > kBoolValFalseTrueDispStr {"NO", "YES"}
 Define string for display of "true" and "false" values of bool value. More...
 
constexpr std::string_view kInputIdxHeader {"Input Index"}
 
constexpr std::string_view kDatatypeHeader {"Data Type"}
 
constexpr std::string_view kLoopItersTemplatedHeader {"Loop Iters Templated"}
 
constexpr std::string_view kMedianOfTestRunsDesc {"(median timing across evaluation runs)"}
 Constant to describing timing as median across evaluation runs. More...
 
constexpr std::string_view kAllRunsStr {"All Runs"}
 Constant for "all runs" string. More...
 
constexpr std::string_view kRunResultsDescFileName {"RunResults"}
 
constexpr std::string_view kRunResultsDefaultPParamsDescFileName {"RunResultsDefaultPParams"}
 
constexpr std::string_view kRunResultsWSpeedupsDescFileName {"RunResultsWSpeedups"}
 
constexpr std::string_view kRunResultsDescDefaultPParamsFileName {"ResultsDefaultParallelParams"}
 
constexpr std::string_view kSpeedupsDescFileName {"Speedups"}
 
constexpr std::string_view kEvalAcrossRunsFileName {"EvaluationAcrossRuns"}
 
constexpr std::string_view kCsvFileExtension {".csv"}
 
constexpr std::string_view kOptimizedRuntimeHeader {"Median Optimized Runtime (including transfer time)"}
 
constexpr std::string_view kSingleThreadRuntimeHeader {"Single-Thread CPU run time"}
 
constexpr std::string_view kSpeedupOptParParamsHeader {"Speedup Over Default OMP Thread Count / CUDA Thread Block Dimensions"}
 
constexpr std::string_view kSpeedupDoubleHeader {"Speedup using double-precision relative to float (actually slowdown)"}
 
constexpr std::string_view kSpeedupHalfHeader {"Speedup using half-precision relative to float"}
 
constexpr std::string_view kSpeedupLoopItersCountTemplate {"Speedup w/ templated loop iteration count (known at compile-time)"}
 
constexpr std::string_view kSpeedupCPUVectorization {"Speedup over no CPU vectorization"}
 
constexpr std::string_view kSpeedupVsAvx256Vectorization {"Speedup over AVX256 CPU vectorization"}
 
constexpr std::string_view kSpeedupVsAvx256F16Vectorization {"Speedup over AVX256 (w/ float16) CPU vectorization"}
 
constexpr std::string_view kSpeedupVsAvx512Vectorization {"Speedup over AVX512 CPU vectorization"}
 
constexpr std::string_view kSpeedupVsAvx512F16Vectorization {"Speedup over AVX512 (w/ float16) CPU vectorization"}
 
constexpr std::string_view kSpeedupVsNEONVectorization {"Speedup over NEON CPU vectorization"}
 
constexpr std::string_view kSpeedupVsCUDAAcceleration {"Speedup over CUDA acceleration"}
 
const std::map< run_environment::AccSetting, const std::string_view > kAltAccToSpeedupDesc
 
constexpr std::string_view kImpResultsFolderName {"ImpResults"}
 
constexpr std::string_view kImpResultsRunDataFolderName {"RunResults"}
 
constexpr std::string_view kImpResultsRunDataDefaultPParamsFolderName {"RunResultsDefaultPParams"}
 
constexpr std::string_view kImpResultsRunDataWSpeedupsFolderName {"RunResultsWSpeedups"}
 
constexpr std::string_view kImpResultsSpeedupsFolderName {"Speedups"}
 
constexpr std::string_view kImpResultsAcrossArchsFolderName {"ResultsAcrossArchitectures"}
 
constexpr std::string_view kImpResultsRunDataAccFolderName {"RunResultsAcc"}
 
constexpr std::array< std::string_view, 3 > kRunInputSigHeaders
 
constexpr std::size_t kRunInputNumInputIdx {0}
 
constexpr std::size_t kRunInputDatatypeIdx {1}
 
constexpr std::size_t kRunInputLoopItersTemplatedIdx {2}
 
const std::map< OutResults, const OutFileInfokOutResultsFileInfo
 
const std::map< OutResults, const std::string_view > kOutResultsDesc
 

Detailed Description

Namespace with enums and constants for implementation run evaluation.

Enumeration Type Documentation

◆ MiddleValData

Enum to specify average or median for "middle" value in data.

Enumerator
kAverage 
kMedian 

Definition at line 46 of file RunEvalConstsEnums.h.

◆ OutResults

enum run_eval::OutResults
strong
Enumerator
kDefaultPParams 
kOptPParams 
kSpeedups 
kOptWSpeedups 

Definition at line 154 of file RunEvalConstsEnums.h.

◆ Status

enum run_eval::Status
strong

Enum for status to indicate if error or no error.

Enumerator
kNoError 
kError 

Definition at line 43 of file RunEvalConstsEnums.h.

Variable Documentation

◆ kAllRunsStr

constexpr std::string_view run_eval::kAllRunsStr {"All Runs"}
constexpr

Constant for "all runs" string.

Definition at line 92 of file RunEvalConstsEnums.h.

◆ kAltAccToSpeedupDesc

const std::map<run_environment::AccSetting, const std::string_view> run_eval::kAltAccToSpeedupDesc
Initial value:
{
}
constexpr std::string_view kSpeedupVsAvx512F16Vectorization
constexpr std::string_view kSpeedupVsCUDAAcceleration
constexpr std::string_view kSpeedupVsAvx512Vectorization
constexpr std::string_view kSpeedupVsAvx256Vectorization
constexpr std::string_view kSpeedupVsAvx256F16Vectorization
constexpr std::string_view kSpeedupCPUVectorization
constexpr std::string_view kSpeedupVsNEONVectorization

Definition at line 127 of file RunEvalConstsEnums.h.

◆ kBoolValFalseTrueDispStr

constexpr std::array<std::string_view, 2> run_eval::kBoolValFalseTrueDispStr {"NO", "YES"}
constexpr

Define string for display of "true" and "false" values of bool value.

Definition at line 81 of file RunEvalConstsEnums.h.

◆ kCsvFileExtension

constexpr std::string_view run_eval::kCsvFileExtension {".csv"}
constexpr

Definition at line 101 of file RunEvalConstsEnums.h.

◆ kDatatypeHeader

constexpr std::string_view run_eval::kDatatypeHeader {"Data Type"}
constexpr

Definition at line 85 of file RunEvalConstsEnums.h.

◆ kDataTypesEvalSizes

constexpr std::array<size_t, 3> run_eval::kDataTypesEvalSizes
constexpr
Initial value:
{
sizeof(float), sizeof(double), sizeof(halftype)}
half halftype

Definition at line 58 of file RunEvalConstsEnums.h.

◆ kEvalAcrossRunsFileName

constexpr std::string_view run_eval::kEvalAcrossRunsFileName {"EvaluationAcrossRuns"}
constexpr

Definition at line 100 of file RunEvalConstsEnums.h.

◆ kImpResultsAcrossArchsFolderName

constexpr std::string_view run_eval::kImpResultsAcrossArchsFolderName {"ResultsAcrossArchitectures"}
constexpr

Definition at line 143 of file RunEvalConstsEnums.h.

◆ kImpResultsFolderName

constexpr std::string_view run_eval::kImpResultsFolderName {"ImpResults"}
constexpr

Definition at line 138 of file RunEvalConstsEnums.h.

◆ kImpResultsRunDataAccFolderName

constexpr std::string_view run_eval::kImpResultsRunDataAccFolderName {"RunResultsAcc"}
constexpr

Definition at line 144 of file RunEvalConstsEnums.h.

◆ kImpResultsRunDataDefaultPParamsFolderName

constexpr std::string_view run_eval::kImpResultsRunDataDefaultPParamsFolderName {"RunResultsDefaultPParams"}
constexpr

Definition at line 140 of file RunEvalConstsEnums.h.

◆ kImpResultsRunDataFolderName

constexpr std::string_view run_eval::kImpResultsRunDataFolderName {"RunResults"}
constexpr

Definition at line 139 of file RunEvalConstsEnums.h.

◆ kImpResultsRunDataWSpeedupsFolderName

constexpr std::string_view run_eval::kImpResultsRunDataWSpeedupsFolderName {"RunResultsWSpeedups"}
constexpr

Definition at line 141 of file RunEvalConstsEnums.h.

◆ kImpResultsSpeedupsFolderName

constexpr std::string_view run_eval::kImpResultsSpeedupsFolderName {"Speedups"}
constexpr

Definition at line 142 of file RunEvalConstsEnums.h.

◆ kInputIdxHeader

constexpr std::string_view run_eval::kInputIdxHeader {"Input Index"}
constexpr

Definition at line 84 of file RunEvalConstsEnums.h.

◆ kLoopItersTemplatedHeader

constexpr std::string_view run_eval::kLoopItersTemplatedHeader {"Loop Iters Templated"}
constexpr

Definition at line 86 of file RunEvalConstsEnums.h.

◆ kMedianOfTestRunsDesc

constexpr std::string_view run_eval::kMedianOfTestRunsDesc {"(median timing across evaluation runs)"}
constexpr

Constant to describing timing as median across evaluation runs.

Definition at line 89 of file RunEvalConstsEnums.h.

◆ kOptimizedRuntimeHeader

constexpr std::string_view run_eval::kOptimizedRuntimeHeader {"Median Optimized Runtime (including transfer time)"}
constexpr

Definition at line 102 of file RunEvalConstsEnums.h.

◆ kOutResultsDesc

const std::map<OutResults, const std::string_view> run_eval::kOutResultsDesc
Initial value:
{
{OutResults::kDefaultPParams,
"Run inputs and results using default parallel parameters"},
{OutResults::kOptPParams,
"Run inputs and optimized results"},
{OutResults::kSpeedups,
"Speedup results"},
{OutResults::kOptWSpeedups,
"Input/settings/parameters info, detailed timings, and evaluation for "
"each run including speedup results"}
}

Definition at line 183 of file RunEvalConstsEnums.h.

◆ kOutResultsFileInfo

const std::map<OutResults, const OutFileInfo> run_eval::kOutResultsFileInfo
Initial value:
{
{OutResults::kDefaultPParams,
{OutResults::kOptPParams,
{OutResults::kSpeedups,
{OutResults::kOptWSpeedups,
}
constexpr std::string_view kImpResultsRunDataFolderName
constexpr std::string_view kRunResultsWSpeedupsDescFileName
constexpr std::string_view kRunResultsDefaultPParamsDescFileName
constexpr std::string_view kImpResultsRunDataDefaultPParamsFolderName
constexpr std::string_view kSpeedupsDescFileName
constexpr std::string_view kRunResultsDescFileName
constexpr std::string_view kImpResultsSpeedupsFolderName
constexpr std::string_view kImpResultsRunDataWSpeedupsFolderName

Definition at line 167 of file RunEvalConstsEnums.h.

◆ kRunAltOptimizedImps

constexpr bool run_eval::kRunAltOptimizedImps {true}
constexpr

Definition at line 68 of file RunEvalConstsEnums.h.

◆ kRunInputDatatypeIdx

constexpr std::size_t run_eval::kRunInputDatatypeIdx {1}
constexpr

Definition at line 150 of file RunEvalConstsEnums.h.

◆ kRunInputLoopItersTemplatedIdx

constexpr std::size_t run_eval::kRunInputLoopItersTemplatedIdx {2}
constexpr

Definition at line 151 of file RunEvalConstsEnums.h.

◆ kRunInputNumInputIdx

constexpr std::size_t run_eval::kRunInputNumInputIdx {0}
constexpr

Definition at line 149 of file RunEvalConstsEnums.h.

◆ kRunInputSigHeaders

constexpr std::array<std::string_view, 3> run_eval::kRunInputSigHeaders
constexpr
Initial value:
{
constexpr std::string_view kInputIdxHeader
constexpr std::string_view kDatatypeHeader
constexpr std::string_view kLoopItersTemplatedHeader

Definition at line 147 of file RunEvalConstsEnums.h.

◆ kRunResultsDefaultPParamsDescFileName

constexpr std::string_view run_eval::kRunResultsDefaultPParamsDescFileName {"RunResultsDefaultPParams"}
constexpr

Definition at line 96 of file RunEvalConstsEnums.h.

◆ kRunResultsDescDefaultPParamsFileName

constexpr std::string_view run_eval::kRunResultsDescDefaultPParamsFileName {"ResultsDefaultParallelParams"}
constexpr

Definition at line 98 of file RunEvalConstsEnums.h.

◆ kRunResultsDescFileName

constexpr std::string_view run_eval::kRunResultsDescFileName {"RunResults"}
constexpr

Definition at line 95 of file RunEvalConstsEnums.h.

◆ kRunResultsWSpeedupsDescFileName

constexpr std::string_view run_eval::kRunResultsWSpeedupsDescFileName {"RunResultsWSpeedups"}
constexpr

Definition at line 97 of file RunEvalConstsEnums.h.

◆ kSingleThreadRuntimeHeader

constexpr std::string_view run_eval::kSingleThreadRuntimeHeader {"Single-Thread CPU run time"}
constexpr

Definition at line 103 of file RunEvalConstsEnums.h.

◆ kSpeedupCPUVectorization

constexpr std::string_view run_eval::kSpeedupCPUVectorization {"Speedup over no CPU vectorization"}
constexpr

Definition at line 118 of file RunEvalConstsEnums.h.

◆ kSpeedupDoubleHeader

constexpr std::string_view run_eval::kSpeedupDoubleHeader {"Speedup using double-precision relative to float (actually slowdown)"}
constexpr

Definition at line 109 of file RunEvalConstsEnums.h.

◆ kSpeedupHalfHeader

constexpr std::string_view run_eval::kSpeedupHalfHeader {"Speedup using half-precision relative to float"}
constexpr

Definition at line 110 of file RunEvalConstsEnums.h.

◆ kSpeedupLoopItersCountTemplate

constexpr std::string_view run_eval::kSpeedupLoopItersCountTemplate {"Speedup w/ templated loop iteration count (known at compile-time)"}
constexpr

Definition at line 115 of file RunEvalConstsEnums.h.

◆ kSpeedupOptParParamsHeader

constexpr std::string_view run_eval::kSpeedupOptParParamsHeader {"Speedup Over Default OMP Thread Count / CUDA Thread Block Dimensions"}
constexpr

Definition at line 106 of file RunEvalConstsEnums.h.

◆ kSpeedupsDescFileName

constexpr std::string_view run_eval::kSpeedupsDescFileName {"Speedups"}
constexpr

Definition at line 99 of file RunEvalConstsEnums.h.

◆ kSpeedupVsAvx256F16Vectorization

constexpr std::string_view run_eval::kSpeedupVsAvx256F16Vectorization {"Speedup over AVX256 (w/ float16) CPU vectorization"}
constexpr

Definition at line 120 of file RunEvalConstsEnums.h.

◆ kSpeedupVsAvx256Vectorization

constexpr std::string_view run_eval::kSpeedupVsAvx256Vectorization {"Speedup over AVX256 CPU vectorization"}
constexpr

Definition at line 119 of file RunEvalConstsEnums.h.

◆ kSpeedupVsAvx512F16Vectorization

constexpr std::string_view run_eval::kSpeedupVsAvx512F16Vectorization {"Speedup over AVX512 (w/ float16) CPU vectorization"}
constexpr

Definition at line 122 of file RunEvalConstsEnums.h.

◆ kSpeedupVsAvx512Vectorization

constexpr std::string_view run_eval::kSpeedupVsAvx512Vectorization {"Speedup over AVX512 CPU vectorization"}
constexpr

Definition at line 121 of file RunEvalConstsEnums.h.

◆ kSpeedupVsCUDAAcceleration

constexpr std::string_view run_eval::kSpeedupVsCUDAAcceleration {"Speedup over CUDA acceleration"}
constexpr

Definition at line 124 of file RunEvalConstsEnums.h.

◆ kSpeedupVsNEONVectorization

constexpr std::string_view run_eval::kSpeedupVsNEONVectorization {"Speedup over NEON CPU vectorization"}
constexpr

Definition at line 123 of file RunEvalConstsEnums.h.

◆ kTemplatedItersEvalSettings

constexpr run_environment::TemplatedItersSetting run_eval::kTemplatedItersEvalSettings
constexpr