An efficient GPU implementation of the Multivariate Empirical Mode Decomposition (MEMD) method is presented for speeding up the process of decomposing non-stationary multi-channel bioelectric signals into different oscillation modes. Each step of the MEMD algorithm is designed with performance in mind and implemented to remove all unnecessary overheads caused by CPU-GPU communication, data transfer operations and synchronisation. The implementation is validated with synthetic and real EEG signals of different lengths and channels (up to 128 channels) on different GPU cards, and compared to existing serial MEMD implementations. The final implementation achieved between 180x-430x speedup compared to MATLAB and a 10x improvement over the only known existing GPU implementation. The average decomposition error of our implementation is below 1.2 %. Our GPU program is the fastest known GPU implementation of the MEMD algorithm that reduces execution time from hours to seconds and as such makes it possible to perform MEMD time-frequency analysis of high-density EEG (MEG) or similar multi-channel signals in a fraction of time and opens the road towards its practical applicability.
Read full abstract