Efficient Independent Component Analysis on a GPU

Several problems in the signal processing field require generating suitable representations of data. One possible form of representation is given by independent component analysis (ICA). The computation of these representations can be quite expensive, especially if large datasizes are used. Over the last few years graphics processing units (GPUs) have emerged as inexpensive general-purpose computation accelerators. This paper presents an implementation of FastICA, an ICA algorithm, on a multicore GPU. The resulting implementation achieved an overall speedup of 55 for estimating 256 independent components, each with 1000 samples, regarding the implementation on a general purpose processor running at 2 GHz.

[1]  Glenn H. Chapman,et al.  A parallel architecture for the ICA algorithm: DSP plane of a 3-D heterogeneous sensor , 2005, Proceedings. (ICASSP '05). IEEE International Conference on Acoustics, Speech, and Signal Processing, 2005..

[2]  Gene H. Golub,et al.  Matrix computations (3rd ed.) , 1996 .

[3]  M. Girolami Negentropy and Kurtosis as Projection Pursuit Indices Provide Generalised ICA Algorithms , 1996, NIPS 1996.

[4]  Deniz Erdogmus,et al.  An analysis of entropy estimators for blind source separation , 2006, Signal Process..

[6]  Aapo Hyvärinen,et al.  Fast and robust fixed-point algorithms for independent component analysis , 1999, IEEE Trans. Neural Networks.

[7]  Gene H. Golub,et al.  Matrix computations , 1983 .

[8]  Erkki Oja,et al.  Independent component analysis: algorithms and applications , 2000, Neural Networks.

[9]  J. Cardoso,et al.  Blind beamforming for non-gaussian signals , 1993 .

[10]  Terrence J. Sejnowski,et al.  Blind separation and blind deconvolution: an information-theoretic approach , 1995, 1995 International Conference on Acoustics, Speech, and Signal Processing.

[11]  James Demmel,et al.  LAPACK Users' Guide, Third Edition , 1999, Software, Environments and Tools.

[12]  Hairong Qi,et al.  A Reconfigurable FPGA System for Parallel Independent Component Analysis , 2006, EURASIP J. Embed. Syst..

[13]  W. Press,et al.  Numerical Recipes: The Art of Scientific Computing , 1987 .

[14]  Po-Lei Lee,et al.  Implementation of Pipelined FastICA on FPGA for Real-Time Blind Source Separation , 2008, IEEE Transactions on Neural Networks.

[15]  W. Marsden I and J , 2012 .