Algorithm Construction for GPGPU
Kungliga Tekniska hogskolan
Kungliga Tekniska hogskolan, 2012
@article{svanstrom2012algorithm,
title={Algorithm Construction for GPGPU},
author={Svanstrom, Mattias and Hossjer, Simon},
year={2012}
}
Today every personal computer and almost every work-related computer has a GPU powerful enough to be used as a supplementary computational device. One framework which enables utilization of this is called OpenCL. We asked the question how one writes efficient algorithms on these GPGPU devices. We found that there are two major ways to run code concurrently, data parallel and task parallel. The runtime of an algorithm depends on the amount of the code that can be run in parallel rather than on the number of processing elements available on the device. We decided to test the theory by implementing parallel algorithms for matrix multiplications and integer sorting with radix sort. The results of the tests can be summarized as both good and bad. Even though there is a promising gain in performance there are also factors like memory accessing which is not always easy to control.
April 19, 2012 by hgpu