Investigation of GPGPU for use in processing of EEG in real-time

The purpose of this thesis was to investigate the use of General Purpose computing on Graphics Processing Units (GPGPU) to process electroencephalogram (EEG) signals in real-time. The main body of this work required the implementation of Independent Component Analysis (ICA) on a GPU to test whether GPGPU is an appropriate platform for the ICA problem. Two implementations of Independent Component Analysis were investigated: FastICA and JADE. Both were implemented three times: first using M-file syntax to serve as a benchmark, next, as native C code to measure performance of the algorithms when running natively on a CPU, and finally, as GPGPU code using the NVIDIA CUDA C language extension. In previous works, Independent Component Analysis represented the largest roadblock to achieving the real-time goal of processing 10 seconds of EEG within a 10 second window. It was found that both FastICA and JADE see speedups, with a maximum measured speedup of approximately 6x for FastICA, and approximately 2.5x for JADE, when operating on the largest datasets. In addition, speedups of between 1x and 2x were seen when working on datasets of the expected size provided by 10 seconds of 32-channel EEG sampled at 500 Hz. However, it was also found that GPGPU solutions are not necessary for real-time performance on a modern desktop computer as the FastICA algorithm is capable of a worst-case performance of between approximately 1 and 2 seconds depending on configuration parameters.

[1]  Mircea Andrecut,et al.  Parallel GPU Implementation of Iterative PCA Algorithms , 2008, J. Comput. Biol..

[2]  Antoine Petitet,et al.  Minimizing development and maintenance costs in supporting persistently optimized BLAS , 2005 .

[3]  Barbara Hubbard,et al.  The World According to Wavelets , 1996 .

[4]  C. Joyce,et al.  Automatic removal of eye movement and blink artifacts from EEG data using blind component separation. , 2004, Psychophysiology.

[5]  Lieven De Lathauwer,et al.  Fourth-Order Cumulant-Based Blind Identification of Underdetermined Mixtures , 2007, IEEE Transactions on Signal Processing.

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

[7]  Charles L. Lawson,et al.  Basic Linear Algebra Subprograms for Fortran Usage , 1979, TOMS.

[8]  S. Mallat A wavelet tour of signal processing , 1998 .

[9]  Rangaraj M. Rangayyan,et al.  Biomedical Signal Analysis: A Case-Study Approach , 2001 .

[10]  Jean-Francois Cardoso,et al.  Some experiments on independent component analysis of non-Gaussian processes , 1999, Proceedings of the IEEE Signal Processing Workshop on Higher-Order Statistics. SPW-HOS '99.

[11]  Matthew Alan Chaudhuri Optimization of a hardware/software coprocessing platform for EEG eyeblink detection and removal , 2008 .

[12]  Bruce J. Fisch,et al.  Fisch and Spehlmann's Eeg Primer: Basic Principles of Digital and Analog Eeg , 1999 .

[13]  Chi-Bang Kuan,et al.  Automated Empirical Optimization , 2011, Encyclopedia of Parallel Computing.

[14]  Jean-Francois Cardoso,et al.  Blind signal separation: statistical principles , 1998, Proc. IEEE.

[15]  Erkki Oja,et al.  Independent Component Analysis , 2001 .

[16]  Peter G. Hibbard,et al.  A Parallel Jacobi Diagonalization Algorthm for a Loop Multiple Processor System , 1984, IEEE Transactions on Computers.

[17]  Jean-Franois Cardoso High-Order Contrasts for Independent Component Analysis , 1999, Neural Computation.

[18]  Jimy Pesin,et al.  Detection and removal of eyeblink artifacts from EEG using wavelet analysis and independent component analysis , 2007 .

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

[20]  Yanda Li,et al.  Automatic removal of the eye blink artifact from EEG using an ICA-based template matching approach , 2006, Physiological measurement.

[21]  B. Montrucchio,et al.  Automatic ocular artifact rejection based on independent component analysis and eyeblink detection , 2003, First International IEEE EMBS Conference on Neural Engineering, 2003. Conference Proceedings..

[22]  S. Venkataramanan,et al.  A novel wavelet based technique for detection and de-noising of ocular artifact in normal and epileptic electroencephalogram , 2004, Proceedings of the 6th Nordic Signal Processing Symposium, 2004. NORSIG 2004..

[23]  J. Cardoso,et al.  An iterative blind source separation technique: implementation and performance , 1997, Proceedings of ICICS, 1997 International Conference on Information, Communications and Signal Processing. Theme: Trends in Information Systems Engineering and Wireless Multimedia Communications (Cat..

[24]  Yuefan Deng,et al.  New trends in high performance computing , 2001, Parallel Computing.

[25]  D. Chakrabarti,et al.  A fast fixed - point algorithm for independent component analysis , 1997 .

[26]  James V. Stone Independent Component Analysis: A Tutorial Introduction , 2007 .

[27]  A. Sameh On Jacobi and Jacobi-I ike Algorithms for a Parallel Computer , 2010 .

[28]  Yu-Te Wu,et al.  Blind Source Separation of Hemodynamics from Magnetic Resonance Perfusion Brain Images Using Independent Factor Analysis , 2010, Int. J. Biomed. Imaging.

[29]  L. Vigon,et al.  Quantitative evaluation of techniques for ocular artefact filtering of EEG waveforms , 2000 .

[30]  Robert Plonsey,et al.  Bioelectromagnetism: Principles and Applications of Bioelectric and Biomagnetic Fields , 1995 .