  Sobel is one of the most popular edge detection operators used in image
processing. To date, most users utilize the two-directional 3x3 Sobel operator
as detectors because of its low computational cost and reasonable performance.
Simultaneously, many studies have been conducted on using large
multi-directional Sobel operators to satisfy their needs considering the high
stability, but at an expense of speed. This paper proposes a fast graphics
processing unit (GPU) kernel for the four-directional 5x5 Sobel operator. To
improve kernel performance, we implement the kernel based on warp-level
primitives, which can significantly reduce the number of memory accesses. In
addition, we introduce the prefetching mechanism and operator transformation
into the kernel to significantly reduce the computational complexity and data
transmission latency. Compared with the OpenCV-GPU library, our kernel shows
high performances of 6.7x speedup on a Jetson AGX Xavier GPU and 13x on a GTX
1650Ti GPU.
