Accelerating a Geometrical Approximated PCA Algorithm Using AVX2 and CUDA

被引:3
作者
Machidon, Alina L. [1 ]
Machidon, Octavian M. [1 ]
Ciobanu, Catalin B. [2 ]
Ogrutan, Petre L. [1 ]
机构
[1] Transilvania Univ Brasov, Dept Elect & Comp, Brasov 500036, Romania
[2] Delft Univ Technol, Distributed Syst Grp, NL-2600 GA Delft, Netherlands
关键词
Principal Component Analysis; parallel computing; SIMD; CUDA; GPU; PROJECTION-PURSUIT; PRINCIPAL COMPONENTS; PREDICTION; PARALLEL;
D O I
10.3390/rs12121918
中图分类号
X [环境科学、安全科学];
学科分类号
08 ; 0830 ;
摘要
Remote sensing data has known an explosive growth in the past decade. This has led to the need for efficient dimensionality reduction techniques, mathematical procedures that transform the high-dimensional data into a meaningful, reduced representation. Projection Pursuit (PP) based algorithms were shown to be efficient solutions for performing dimensionality reduction on large datasets by searching low-dimensional projections of the data where meaningful structures are exposed. However, PP faces computational difficulties in dealing with very large datasets-which are common in hyperspectral imaging, thus raising the challenge for implementing such algorithms using the latest High Performance Computing approaches. In this paper, a PP-based geometrical approximated Principal Component Analysis algorithm (gaPCA) for hyperspectral image analysis is implemented and assessed on multi-core Central Processing Units (CPUs), Graphics Processing Units (GPUs) and multi-core CPUs using Single Instruction, Multiple Data (SIMD) AVX2 (Advanced Vector eXtensions) intrinsics, which provide significant improvements in performance and energy usage over the single-core implementation. Thus, this paper presents a cross-platform and cross-language perspective, having several implementations of the gaPCA algorithm in Matlab, Python, C++ and GPU implementations based on NVIDIA Compute Unified Device Architecture (CUDA). The evaluation of the proposed solutions is performed with respect to the execution time and energy consumption. The experimental evaluation has shown not only the advantage of using CUDA programming in implementing the gaPCA algorithm on a GPU in terms of performance and energy consumption, but also significant benefits in implementing it on the multi-core CPU using AVX2 intrinsics.
引用
收藏
页数:29
相关论文
共 56 条
[1]   Projection pursuit mixture density estimation [J].
Aladjem, M .
IEEE TRANSACTIONS ON SIGNAL PROCESSING, 2005, 53 (11) :4376-4383
[2]  
Ali A., 2016, Big Data Analytics, V1, P1, DOI [10.1186/s41044-016-0002-4, DOI 10.1186/S41044-016-0002-4]
[3]  
AMD, RYZ 5 3600 PROC SPEC
[4]   Parallel GPU Implementation of Iterative PCA Algorithms [J].
Andrecut, M. .
JOURNAL OF COMPUTATIONAL BIOLOGY, 2009, 16 (11) :1593-1599
[5]  
Antikainen J., 2010, C COL GRAPH IM VIS, V2010, P554
[6]   Supervised projection pursuit - A dimensionality reduction technique optimized for probabilistic classification [J].
Barcaru, Andrei .
CHEMOMETRICS AND INTELLIGENT LABORATORY SYSTEMS, 2019, 194
[7]  
Campbell J.B., 2011, Introduction to Remote Sensing
[8]  
Chang C.I., 2013, Hyperspectral Data Processing: Algorithm Design and Analysis
[9]   L1-norm projection pursuit principal component analysis [J].
Choulakian, V .
COMPUTATIONAL STATISTICS & DATA ANALYSIS, 2006, 50 (06) :1441-1451
[10]   High breakdown estimators for principal components: the projection-pursuit approach revisited [J].
Croux, C ;
Ruiz-Gazen, A .
JOURNAL OF MULTIVARIATE ANALYSIS, 2005, 95 (01) :206-226