Comparison of CPU and GPU implementation of computing absolute difference
Mohd Haziq Rahmad, Soo Saw Meng, Ettikan Kandasamy Karuppiah, Hong Ong · 2011
Motion estimation is a commonly used technique in video processing, digital video coding and medical imaging. Generally, motion estimation algorithms involve comparison between several consecutive frames, pixel by pixel, to detect occurrence of motion. Therefore, it is one of the most computationally intensive operations. In order to alleviate the computational complexity, most fast motion estimation algorithms are based on computing the absolute difference between consecutive frames. Since this computation is data parallel in nature, it can exploit the parallel architectures available in CPU (Streaming SIMD Extension (SSE) Instruction Set) and GPU (Single Instruction Multiple Threads). In this paper, we have implemented and analysed the absolute difference computation for video analytic functions using SSE2/CPU and GPGPU. Our implementation shows that GPU using OpenCL outperforms CPU/SSE by a factor of 2 in terms of function execution. However, the overall performance of GPGPU is much slower considering data transfer latency.