Alex Jackson '09 A Parallel Algorithm for Fast Edge Detection on the Graphics Processing Unit

Often, it is a race against time to make a proper diagnosis of a disease. In areas of the world where qualified medical personnel are scarce, work is being done on the automated diagnosis of illnesses. Automated diagnosis involves several stages of image processing on lab samples in search of abnormalities that may indicate the presence of such things as tuberculosis. These image processing tasks are good candidates for migration to parallelism which would significantly speed up the process. However, a traditional parallel computer is not a very accessible piece of hardware to many. The graphics processing unit (GPU) has evolved into a highly parallel component that recently has gained the ability to be utilized by developers for non-graphical computations.

This paper demonstrates the parallel computing power of the GPU in the area of medical image processing. We present a new algorithm for performing edge detection on images using NVIDIA's CUDA programming model in order to program the GPU in C. We evaluated our algorithm on a number of sample images and compared it to two other implementations; one sequential and one parallel. This new algorithm produces impressive speedup in the edge detection process.

Faculty Advisor: Rance Necaise