Algorithms; Computer Graphics; Electroencephalography; Humans; Internet; Signal Processing, Computer-Assisted; Software
Abstract :
[en] In recent years, Independent Component Analysis (ICA) has become a standard to identify relevant dimensions of the data in neuroscience. ICA is a very reliable method to analyze data but it is, computationally, very costly. The use of ICA for online analysis of the data, used in brain computing interfaces, results are almost completely prohibitive. We show an increase with almost no cost (a rapid video card) of speed of ICA by about 25 fold. The EEG data, which is a repetition of many independent signals in multiple channels, is very suitable for processing using the vector processors included in the graphical units. We profiled the implementation of this algorithm and detected two main types of operations responsible of the processing bottleneck and taking almost 80% of computing time: vector-matrix and matrix-matrix multiplications. By replacing function calls to basic linear algebra functions to the standard CUBLAS routines provided by GPU manufacturers, it does not increase performance due to CUDA kernel launch overhead. Instead, we developed a GPU-based solution that, comparing with the original BLAS and CUBLAS versions, obtains a 25x increase of performance for the ICA calculation.
Disciplines :
Engineering, computing & technology: Multidisciplinary, general & others
Author, co-author :
Raimondo, Federico ; Université de Liège - ULiège > Consciousness-Coma Science Group
Kamienkowski, Juan E.
Sigman, Mariano
Fernandez Slezak, Diego
Language :
English
Title :
CUDAICA: GPU optimization of Infomax-ICA EEG analysis.
Oja E., Principal components, minor components, and linear neural networks Neural Networks 1992 5 6 927 935 (Pubitemid 23581250)
Harman H. H., Modern Factor Analysis 1976 University of Chicago
Friedman J. H., Exploratory projection pursuit Journal of the American Statistical Association 1987 82 397 249 266
Hyvrinen A., Oja E., Karhuen J., Independent Component Analysis 2001 Wiley-Interscience
Bell A. J., Sejnowski T. J., An information-maximization approach to blind separation and blind deconvolution. Neural computation 1995 7 6 1129 1159
Amari S. I., Natural gradient works efficiently in learning Neural Computation 1998 10 2 251 276
Delorme A., Sejnowski T., Makeig S., Enhanced detection of artifacts in EEG data using higher-order statistics and independent component analysis NeuroImage 2007 34 4 1443 1449 (Pubitemid 46187079)
Makeig S., Jung T. P., Bell A. J., Ghahremani D., Sejnowski T. J., Blind separation of auditory event-related brain responses into independent components Proceedings of the National Academy of Sciences of the United States of America 1997 94 20 10979 10984 (Pubitemid 27430846)
Makeig S., Bell A. J., Jung T. P., Sejnowski T. J., Independent component analysis of electroencephalographic data Advances in Neural Information Processing Systems 1996 Cambridge, Mass, USA MIT Press 145 151
Vigrio R., Srel J., Jousmki V., Hmlinen M., Oja E., Independent component approach to the analysis of EEG and MEG recordings IEEE Transactions on Biomedical Engineering 2000 47 5 589 593 (Pubitemid 30316977)
Schpf V., Kasess C. H., Lanzenberger R., Fischmeister F., Windischberger C., Moser E., Fully exploratory network ICA (FENICA) on resting-state fMRI data Journal of Neuroscience Methods 2010 192 2 207 213
Calhoun V. D., Adali T., Unmixing fMRI with independent component analysis IEEE Engineering in Medicine and Biology Magazine 2006 25 2 79 90
Calhoun V. D., Eichele T., Pearlson G., Functional brain networks in schizophrenia: a review Frontiers in Human Neuroscience 3 17
Jung T. P., Makeig S., Mckeown M. J., Bell A. J., Lee T. E. W., Sejnowski T. J., Imaging brain dynamics component analysis Proceedings of the IEEE 2001 89 7 1107 1122 (Pubitemid 33766615)
Makeig S., Onton J., ERP features and EEG dynamics: an ICA perspective Oxford Handbook of Event-Related Potential Components 2011 New York, NY, USA Oxford University Press
Keith D. B., Hoge C. C., Frank R. M., Malony A. D., Parallel ICA methods for EEG neuroimaging Proceedings of the 20th International Parallel and Distributed Processing Symposium (IPDPS '06) 2006 IEEE 10
Nickolls J., Buck I., Garland M., Skadron K., Scalable parallel programming with CUDA Queue 2008 6 2 40 53
Tang A. C., Pearlmutter B. A., Malaszenko N. A., Phung D. B., Reeb B. C., Independent components of magnetoencephalography: localization Neural Computation 2002 14 8 1827 1858
Hyvarinen A., Fast and robust fixed-point algorithms for independent component analysis IEEE Transactions on Neural Networks 1999 10 3 626 634
Ramalho R., Toms P., Sousa L., Efficient independent component analysis on a GPU Proceedings of the 10th IEEE International Conference on Computer and Information Technology (CIT '10) July 2010 1128 1133
Comon P., Independent component analysis, A new concept? Signal Processing 1994 36 3 287 314
Hyvrinen A., Oja E., Independent component analysis: algorithms and applications Neural Networks 2000 13 4-5 411 430 (Pubitemid 30447427)
Delorme A., Makeig S., EEGLAB: an open source toolbox for analysis of single-trial EEG dynamics including independent component analysis Journal of Neuroscience Methods 2004 134 1 9 21 (Pubitemid 38224183)
Oostenveld R., Fries P., Maris E., Schoffelen J. M., FieldTrip: open source software for advanced analysis of MEG, EEG, and invasive electrophysiological data Computational Intelligence and Neuroscience 2011 2011 9
Amari S., A new learning algorithm for blind signal separation Advances in Neural Information Processing Systems 1996
Amari S., Neural learning in structured parameter spaces-natural Riemannian radient Advances in Neural Information Processing Systems 1997
Cardoso J. F., Laheld B. H., Equivariant adaptive source separation IEEE Transactions on Signal Processing 1996 44 12 3017 3030 (Pubitemid 126778048)
Dongarra J. J., Croz J. D., Hammarling S., Duff I., Set of level 3 basic linear algebra subprograms ACM Transactions on Mathematical Software 1990 16 1 1 17 (Pubitemid 20684794)
Clint Whaley R., Petitet A., Dongarra J. J., Automated empirical optimizations of software and the ATLAS project Parallel Computing 2001 27 1-2 3 35 (Pubitemid 32264775)
Weidendorfer J., Sequential performance analysis with callgrind and kcachegrind Tools for High Performance Computing 2008 Springer 93 113
Brown G. D., Yamada S., Sejnowski T. J., Independent component analysis at the neural cocktail party Trends in Neurosciences 2001 24 1 54 63 (Pubitemid 32332897)
Carmena J. M., Lebedev M. A., Crist R. E., O'Doherty J. E., Santucci D. M., Dimitrov D. F., Patil P. G., Henriquez C. S., Nicolelis M. A. L., Learning to control a brain-machine interface for reaching and grasping by primates PLoS Biology 2003 1 2, article e42
Laubach M., Wessberg J., Nicolelis M. A. L., Cortical ensemble activity increasingly predicts behaviour outcomes during learning of a motor task Nature 2000 405 6786 567 571 (Pubitemid 30367728)
Nicolelis M. A. L., Baccala L. A., Lin R. C. S., Chapin J. K., Sensorimotor encoding by synchronous neural ensemble activity at multiple levels of the somatosensory system Science 1995 268 5215 1353 1358
Xu N., Gao X., Hong B., Miao X., Gao S., Yang F., BCI competition 2003data set IIb: enhancing P300 wave detection using ICA-based subspace projections for BCI applications IEEE Transactions on Biomedical Engineering 2004 51 6 1067 1072 (Pubitemid 38661464)