CUDAICA: GPU optimization of Infomax-ICA EEG analysis
Computer Science Department, University of Buenos Aires, Buenos Aires, Argentina
Computational Intelligence and Neuroscience, 2012
@article{raimondo2012cudaica,
title={CUDAICA: GPU optimization of Infomax-ICA EEG analysis},
author={Raimondo, Federico and Kamienkowski, Juan and Sigman, Mariano and Slezak, Diego Fernandez},
year={2012}
}
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 on-line analysis of the data, used in brain computing interfaces, results 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, 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.
June 11, 2012 by hgpu