CUDA Based Speed Optimization of the PCA Algorithm

Principal Component Analysis (PCA) is an algorithm involving heavy mathematical operations with matrices. The data extracted from the face images are usually very large and to process this data is time consuming. To reduce the execution time of these operations, parallel programming techniques are u...

Full description

Bibliographic Details
Main Authors: Salih Görgünoğlu, Kadriye Öz, Abdullah Çavuşoğlu
Format: Article
Language:English
Published: UIKTEN 2016-05-01
Series:TEM Journal
Subjects:
Online Access:http://www.temjournal.com/content/52/TemJournalMay2016_152_159.pdf
Description
Summary:Principal Component Analysis (PCA) is an algorithm involving heavy mathematical operations with matrices. The data extracted from the face images are usually very large and to process this data is time consuming. To reduce the execution time of these operations, parallel programming techniques are used. CUDA is a multipurpose parallel programming architecture supported by graphics cards. In this study we have implemented the PCA algorithm using both the classical programming approach and CUDA based implementation using different configurations. The algorithm is subdivided into its constituent calculation steps and evaluated for the positive effects of parallelization on each step. Therefore, the parts of the algorithm that cannot be improved by parallelization are identified. On the other hand, it is also shown that, with CUDA based approach dramatic improvements in the overall performance of the algorithm arepossible.
ISSN:2217-8309
2217-8333