The algorithms supported by VPI are described in the following sections. An overview of the algorithm, instructions on how to use the algorithm, a list of any backend limitations, and the API reference are provided.
Algorithm | Backend Support | ||
---|---|---|---|
CPU | CUDA | PVA | |
Stereo Disparity Estimator | yes | yes | yes |
KLT Bounding Box Tracker | yes | yes | yes |
Gaussian Pyramid Generator | yes | yes | yes |
Image Convolver | yes | yes | yes |
Separable Image Convolver | yes | yes | yes |
Box Image Filter | yes | yes | yes |
Gaussian Image Filter | yes | yes | yes |
Bilateral Image Filter | yes | yes | no |
Image Resampler | yes | yes | no |
Harris Keypoint Detector | yes | yes | yes |
Image FFT | yes | yes | no |
Image Inverse FFT | yes | yes | no |
Image Format Converter | yes | yes | no |
Most of the algorithms' description pages have a section where the running time of a single call/iteration is shown, along with the parameters used. This information can be helpful to performance-critical applications, allowing the user to evaluate the impact of certain parameter/backend combinations in application performance, such as:
The benchmark procedure used to measure the performance numbers is described in detail here. This information helps understand what context the performance numbers refer to.
To make the measurements somewhat stable across runs, the device's frequency and power parameters were maxed out prior to benchmarking. This also mimics the situation where the system is under full load, thus making execution time closer to the lower bound. In real applications, depending on the system load, the execution time might be longer due to frequency throttling and other effects.
What follows is a list of all devices used for measurement, along with their frequency and power configurations.