As more and more systems are connected, a large benefit is found in being able to find and predict problems in the monitored process. By analyzing the data in real time, feedback can be generated to the operators or the process allowing the process to correct itself. This thesis implements and evaluates three CUDA GPU implementations of the principal component analysis used for dimensionality reduction of multivariate data sets running in real time to explore the trade-offs of the algorithm implementations in terms of speed, energy and accuracy. The GPU implementations are compared to reference implementations on the CPU. The study finds that the covariance based method is the fastest of the implementations for the tested configurations, but the iterative NIPALS implementation has some interesting optimization opportunities that are explored. For large enough data sets, speedup compared to the 8 virtual core CPU of around 100 is obtained for the GPU implementations, making the GPU implementations an option to investigate for problems requiring real time computation of principal components.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-160475 |
Date | January 2019 |
Creators | Bertils, Joakim |
Publisher | Linköpings universitet, Programvara och system |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0134 seconds