A Compact Implementation of Independent Component Analysis with Graphical Processing Unit


Harish Ankam

Document Type


Degree Name

Master of Science (MS)


Computer Science and Info Sys

Date of Award

Spring 2014


Independent Component Analysis (ICA) is a blind source-separation method that has been implemented in many fields. In the brain-imaging field, such as EEG and fMRI, given only the observed signals, the main goal of ICA is to recover the independent sources, which are assumed to be linearly mixed, and thus decompose information in the mixing system. However for large-size data such as fMRI, the computation time of ICA can be quite long, which necessitates computationally effective implementation methods.We aimed to develop a minimally dependent and platform-independent ICA implementation using Graphical Processing Units (GPUs). GPUs are designed to rapidly manipulate and alter the computer memory to accelerate the building of images in a frame buffer intended for output to a display. GPUs have a large number of multiprocessors and each multiprocessor has several cores. In this work, we implemented the serial portions of the ICA algorithm to run on CPU while some parallel portions of the ICA such as matrix inversion and determinant calculation run on GPUs. The data transfer between CPU and GPU, which generally slows performance, is also minimized in our implementation. To elucidate speed-up of newly introduced approach, our Java-based package is tested on different size fMRI data obtained from task-related neuro-experiments. The newly developed software is also validated using four sound files. Our software is integrated with well-known data mining and machine learning package WEKA to increase its usability.Although our implementation is not first GPUs-based ICA implementation, it is novel and preferable over the previous implementations since our software is platform independent and does not depend on any obsolete libraries.


Mutlu Mete

Subject Categories

Computer Sciences | Physical Sciences and Mathematics