Optimized Belief Propagation (CPU and GPU)
|
CBpFileHandling | Class to retrieve path of stereo set files for reading and for output |
▼CBpImage< T > | Class to define images that are used in bp processing |
CDisparityMap< float > | |
CDisparityMap< T > | Child class of BpImage to define disparity map image that is output from bp processing |
CBpLevel< T > | Class to store and retrieve properties of a bp processing level including a data type specified as a class template parameter |
Cbeliefprop::BpLevelProperties | POD struct to store bp level data. Struct can be passed to global CUDAs kernel so needs to take restrictions of what's allowed for passing data from the host to a CUDA kernel into account |
Cbeliefprop::BpOnDevice< T, DISP_VALS, ACCELERATION > | Structure with pointers to objects containing functions for smoothing images, processing bp, and memory management on target device using specified acceleration |
Cbeliefprop::BpRunOutput | Structure with output disparity map, runtime, and other evaluation data |
Cbeliefprop::BpSettings | Structure to store the belief propagation settings including the number of levels and iterations |
Cbeliefprop::BpStereoSet | Structure with stereo set name, disparity count, and scale factor for output disparity map |
Cbp_single_thread_imp::Convolve | |
CCPUThreadsPinnedToSocket | Class to adjust and retrieve settings corresponding to CPU threads pinned to socket |
CDetailedTimings< T > | Class to store timings of one or more segments taken during the run(s) of an implementation or across multiple implementations. Index for timing segments must be enum type |
CDisparityMapEvaluation | Class to store disparity map evaluation results. Specifically comparison between two disparity maps such as output disparity map from bp processing and ground truth disparity map |
Cbeliefprop::DisparityMapEvaluationParams | Struct to store parameters for evaluation of disparity map from stereo processing |
CEvalAcrossRunsData | Structure to store data with mappings for evaluating results across runs as well as speedup headers in order |
CEvaluateAcrossRuns | Class with operator function to evaluate implementation runs across multiple architectures. Outputs a file with speedup data on every run with the runs ordered from fastest to slowest |
▼CEvaluateImpResults | Class with operator function to evaluate implementations of the same algorithm across different data types and acceleration methods |
CEvaluateImpResultsBp | Child class of EvaluateImpResults that defines member functions for belief propagation evaluation which override pure virtual functions in parent class |
Cbp_single_thread_imp::FilterImage | |
Cbp_single_thread_imp::image< T > | |
CInputSignature | Class defines input signature for evaluation run that contains evaluation set number, data type, and whether or not to use templated loop iteration count |
▼CMemoryManagement< T > | Class for memory management with functions defined for standard memory allocation using CPU. Class functions can be overridden to support other computation devices such as GPU |
CMemoryManagementCUDA< T > | Child class of MemoryManagement with overriden member functions to manage memory on CUDA device including transferring data between host and CUDA device |
Crun_eval::OutFileInfo | |
▼CParallelParams | Abstract class for holding and processing parallelization parameters. Child class(es) specific to implementation(s) must be defined |
CParallelParamsBp | Child class of ParallelParams to store and process parallelization parameters to use in each BP kernel at each level |
Cbp_single_thread_imp::pnm_error | |
▼CProcessBp< T, DISP_VALS, ACCELERATION > | Abstract class to run belief propagation on target device. Some of the class functions need to be overridden for processing on target device |
CProcessBpCUDA< T, DISP_VALS, ACCELERATION > | Child class of ProcessBp that define functions used in processing bp in the CUDA implementation |
CProcessBpOptimizedCPU< T, DISP_VALS, ACCELERATION > | Child class of ProcessBp that defines functions used in processing bp in the optimized CPU implementation |
Cbp_single_thread_imp::rgb | |
▼CRunBpOnStereoSet< T, DISP_VALS, ACCELERATION > | Abstract class to set up and run belief propagation on target device using specified acceleration |
CRunBpOnStereoSetCUDA< T, DISP_VALS, ACCELERATION > | Child class of RunBpOnStereoSet to run CUDA implementation of belief propagation on a given stereo set as defined by reference and test image file paths |
CRunBpOnStereoSetOptimizedCPU< T, DISP_VALS, ACCELERATION > | Child class of RunBpOnStereoSet to run optimized CPU implementation of belief propagation on a given stereo set as defined by reference and test image file paths |
CRunBpOnStereoSetSingleThreadCPU< T, DISP_VALS, ACCELERATION > | Child class of RunBpOnStereoSet to run single-threaded CPU implementation of belief propagation on a given stereo set as defined by reference and test image file paths |
CRunData | Class to store headers with data corresponding to current program run and evaluation |
▼CRunImpMultInputs | Base class for running and evaluating multiple runs of an implementation that may be optimized on CPU or GPU |
CRunImpMultInputsBp | Child class of RunImpMultInputs to run specified belief propagation implementation on a number of inputs |
CRunImpMultTypesAccels | Class to run and evaluate implementation(s) of an algorithm using multiple settings including different datatype, inputs, and acceleration methods |
▼CRunImpOnInput< T, OPT_IMP_ACCEL, NUM_INPUT > | Virtual class to run and evaluate implementation on a input specified by index number |
CRunImpOnInputBp< T, OPT_IMP_ACCEL, NUM_INPUT > | Child class of RunImpOnInput to run and evaluate belief propagation implementation on a specified input |
Crun_environment::RunImpSettings | Structure that stores settings for current implementation run |
CRunResultsSpeedups | Class to load and store run results data including speedups from evaluation |
▼CSmoothImage | Class for smoothing the images before running BP. Smoothing image always uses float data type |
CSmoothImageCPU | Child class of SmoothImage for smoothing images in the optimized CPU implementation |
CSmoothImageCUDA | Child class of SmoothImage for smoothing images in the CUDA implementation |