Using OpenCL to Implement Median Filtering and RSA Algorithms : Two GPGPU Application Case Studies

Graphics Processing Units (GPU) and their development tools have advanced recently, and industry has become more interested in using them. Among several development frameworks for GPU(s), OpenCL provides a programming environment to write portable code that can run in parallel. This report describes...

Full description

Bibliographic Details
Main Author: Gillsjö, Lukas
Format: Others
Language:English
Published: Linköpings universitet, Programvara och system 2015
Subjects:
GPU
RSA
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-115786
Description
Summary:Graphics Processing Units (GPU) and their development tools have advanced recently, and industry has become more interested in using them. Among several development frameworks for GPU(s), OpenCL provides a programming environment to write portable code that can run in parallel. This report describes two case studies of algorithm implementations in OpenCL. The first algorithm is Median Filtering which is a widely used image processing algorithm. The other algorithm is RSA which is a popular algorithm used in encryption. The CPU and GPU implementations of these algorithms are compared in method and speed. The GPU implementations are also evaluated by efficiency, stability, scalability and portability. We find that the GPU implementations perform better overall with some exceptions. We see that a pure GPU solution is not always the best and that a hybrid solution with both CPU and GPU may be to prefer in some cases.