High Performance Optimization of Independent Component Analysis Algorithm for EEG Data

Independent Component Analysis (ICA) is known as a signal cleaning method that allows the artifacts to be extracted and subsequently eliminated. It is especially essential while processing the EEG data. However, this is a time-consuming algorithm especially if we deal with a high-dimensional data and take care about the calculation accuracy. One of the known implementations of this algorithm, which can be found in MATLAB or the open library it++ – fastICA – does not use parallel implementations nor take benefit of the current capabilities of the Intel architecture. Also for large data, fastICA’s accuracy and stability decrease due to the reduction of data dimension. The paper introduces an implementation that uses Intel Cilk Plus, BLAS and MKL library built-in functions as well as array notation and OpenMP parallelization to optimize the algorithm.

[1]  Grzegorz M. Wójcik,et al.  Bray-Curtis Metrics as Measure of Liquid State Machine Separation Ability in Function of Connections Density , 2015, ICCS.

[2]  Grzegorz M. Wójcik,et al.  Self-Organised Criticality as a Function of Connections' Number in the Model of the Rat Somatosensory Cortex , 2008, ICCS.

[3]  Dariusz Mikołajewski,et al.  The prospects of brain — computer interface applications in children , 2014 .

[4]  Grzegorz M. Wójcik,et al.  Independent component analysis of EEG data for EGI system , 2016, Bio Algorithms Med Syst..

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

[6]  Rezaur Rahman Intel® Xeon Phi™ Coprocessor Architecture and Tools , 2013, Apress.

[7]  Przemysław Stpiczyński,et al.  Using distributed memory parallel computers and GPU clusters for multidimensional Monte Carlo integration , 2015, Concurr. Comput. Pract. Exp..

[8]  Aapo Hyv Fast and Robust Fixed-Point Algorithms for Independent Component Analysis , 1999 .

[9]  Rodica Strungaru,et al.  Independent Component Analysis Applied in Biomedical Signal Processing , 2004 .

[10]  Grzegorz M. Wójcik,et al.  Liquid state machine and its separation ability as function of electrical parameters of cell , 2007, Neurocomputing.

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

[12]  Grzegorz M. Wójcik,et al.  Self-organised Criticality in a Model of the Rat Somatosensory Cortex , 2007, PaCT.

[13]  T. Sejnowski,et al.  Independent component analysis at the neural cocktail party , 2001, Trends in Neurosciences.

[14]  Andrey Semin,et al.  Optimizing HPC Applications with Intel® Cluster Tools , 2014, Apress.

[15]  S T Roweis,et al.  Nonlinear dimensionality reduction by locally linear embedding. , 2000, Science.

[16]  Grzegorz M. Wójcik,et al.  Analysis of the neural hypercolumn in parallel PCSIM simulations , 2010, ICCS.

[17]  Grzegorz M. Wojcik,et al.  Electroencephalographic detection of synesthesia , 2014 .

[18]  Terrence J. Sejnowski,et al.  Enhanced detection of artifacts in EEG data using higher-order statistics and independent component analysis , 2007, NeuroImage.

[19]  Dariusz Mikołajewski,et al.  Usefulness of EGI EEG system in brain computer interface research , 2013, Bio Algorithms Med Syst..

[20]  Rezaur Rahman,et al.  Intel Xeon Phi Coprocessor Architecture and Tools: The Guide for Application Developers , 2013 .

[21]  Grzegorz M. Wójcik,et al.  Shifting spatial attention - Numerical model of Posner experiment , 2014, Neurocomputing.

[22]  Dariusz Mikołajewski,et al.  Integrated IT environment for people with disabilities: a new concept , 2014 .