Optimized Belief Propagation (CPU and GPU)
|
Constants and enums related to run environment and settings for run. More...
Classes | |
struct | RunImpSettings |
Structure that stores settings for current implementation run. More... | |
Enumerations | |
enum class | AccSetting { kAVX512_F16 , kAVX512 , kAVX256_F16 , kAVX256 , kNEON , kCUDA , kNone } |
Enum for acceleration setting. More... | |
enum class | TemplatedItersSetting { kRunOnlyTempated , kRunOnlyNonTemplated , kRunTemplatedAndNotTemplated } |
Enum that specifies whether or not to use templated counts for the number of iterations in processing loops or to run implementation with and without templated iteration counts Templated counts for number of loop iterations can help with optimization but requires that the number of iterations be known at compile time. More... | |
enum class | ParallelParamsSetting { kDefault , kOptimized } |
Enum for parallel parameters settings in run. More... | |
enum class | OptParallelParamsSetting { kSameParallelParamsAllKernels , kAllowDiffKernelParallelParamsInRun } |
Enum to specify if optimizing parallel parameters per kernel or using same parallel parameters across all kernels in run In initial testing optimizing per kernel is faster on GPU and using same parallel parameters across all kernels is faster on CPU. More... | |
Functions | |
unsigned int | GetBytesAlignMemory (AccSetting accel_setting) |
template<AccSetting ACCELERATION_SETTING> | |
RunData | RunSettings () |
Generate RunData object that contains description header with corresponding value for each run setting. More... | |
template<AccSetting ACCELERATION_SETTING> | |
constexpr std::string_view | AccelerationString () |
Get string corresponding to acceleration method at compile time. More... | |
std::string_view | AccelerationString (AccSetting acceleration_setting) |
Get string corresponding to acceleration method at run time. More... | |
Variables | |
constexpr std::string_view | kAccelerationDescHeader {"Acceleration"} |
Constant string for acceleration. More... | |
const std::map< std::size_t, std::string_view > | kDataSizeToNameMap |
Mapping from data size to data type string. More... | |
constexpr std::string_view | kPParamsPerKernelSettingHeader {"Parallel Params Per Kernel Setting"} |
constexpr std::string_view | kPParamsSameEveryKernelDesc {"Same Across Kernels"} |
constexpr std::string_view | kPParamsSetEachKernelDesc {"Set Per Kernel"} |
const std::map< OptParallelParamsSetting, std::string_view > | kOptPParmsSettingToDesc |
constexpr std::string_view | kCPUThreadsPinnedHeader {"CPU Threads Pinned To Socket"} |
constexpr std::string_view | kOmpPlacesHeader {"OMP_PLACES"} |
constexpr std::string_view | kOmpProcBindHeader {"OMP_PROC_BIND"} |
constexpr std::string_view | kNumCPUThreadsHeader {"Total number of CPU threads"} |
constexpr std::string_view | kBytesAlignMemHeader {"BYTES_ALIGN_MEMORY"} |
Constants and enums related to run environment and settings for run.
|
strong |
Enum for acceleration setting.
Enumerator | |
---|---|
kAVX512_F16 | |
kAVX512 | |
kAVX256_F16 | |
kAVX256 | |
kNEON | |
kCUDA | |
kNone |
Definition at line 59 of file RunSettingsConstsEnums.h.
|
strong |
Enum to specify if optimizing parallel parameters per kernel or using same parallel parameters across all kernels in run In initial testing optimizing per kernel is faster on GPU and using same parallel parameters across all kernels is faster on CPU.
Enumerator | |
---|---|
kSameParallelParamsAllKernels | |
kAllowDiffKernelParallelParamsInRun |
Definition at line 121 of file RunSettingsConstsEnums.h.
|
strong |
Enum for parallel parameters settings in run.
Enumerator | |
---|---|
kDefault | |
kOptimized |
Definition at line 115 of file RunSettingsConstsEnums.h.
|
strong |
Enum that specifies whether or not to use templated counts for the number of iterations in processing loops or to run implementation with and without templated iteration counts Templated counts for number of loop iterations can help with optimization but requires that the number of iterations be known at compile time.
Enumerator | |
---|---|
kRunOnlyTempated | |
kRunOnlyNonTemplated | |
kRunTemplatedAndNotTemplated |
Definition at line 108 of file RunSettingsConstsEnums.h.
|
constexpr |
Get string corresponding to acceleration method at compile time.
ACCELERATION_SETTING |
Definition at line 70 of file RunSettingsConstsEnums.h.
|
inline |
Get string corresponding to acceleration method at run time.
acceleration_setting |
Definition at line 86 of file RunSettingsConstsEnums.h.
|
inline |
|
inline |
Generate RunData object that contains description header with corresponding value for each run setting.
ACCELERATION_SETTING |
Definition at line 59 of file RunSettings.h.
|
constexpr |
Constant string for acceleration.
Definition at line 56 of file RunSettingsConstsEnums.h.
|
constexpr |
Definition at line 141 of file RunSettingsConstsEnums.h.
|
constexpr |
Definition at line 137 of file RunSettingsConstsEnums.h.
const std::map<std::size_t, std::string_view> run_environment::kDataSizeToNameMap |
Mapping from data size to data type string.
Definition at line 97 of file RunSettingsConstsEnums.h.
|
constexpr |
Definition at line 140 of file RunSettingsConstsEnums.h.
|
constexpr |
Definition at line 138 of file RunSettingsConstsEnums.h.
|
constexpr |
Definition at line 139 of file RunSettingsConstsEnums.h.
const std::map<OptParallelParamsSetting, std::string_view> run_environment::kOptPParmsSettingToDesc |
Definition at line 131 of file RunSettingsConstsEnums.h.
|
constexpr |
Definition at line 128 of file RunSettingsConstsEnums.h.
|
constexpr |
Definition at line 129 of file RunSettingsConstsEnums.h.
|
constexpr |
Definition at line 130 of file RunSettingsConstsEnums.h.