Skip to main content

Implementing Independent Component Analysis in General-Purpose GPU Architectures

  • Conference paper
Digital Information Processing and Communications (ICDIPC 2011)

Abstract

New computational architectures, such as multi-core processors and graphics processing units (GPUs), pose challenges to application developers. Although in the case of general-purpose GPU programming, environments and toolkits such as CUDA and OpenCL have simplified application development, different ways of thinking about memory access, storage, and program execution are required. This paper presents a strategy for implementing a specific signal processing technique for blind-source separation: infomax independent component analysis (ICA). Common linear algebra operations are mapped to a low cost programmable graphics card using the OpenCL programming toolkit. Because many components of ICA are inherently parallel, ICA computations can be accelerated by low cost parallel hardware. Experimental results on simulated and speech signals indicate that efficiency gains and scalability are achievable through general-purpose GPU implementation, and suggest that important applications in telecommunications, speech processing, and biomedical signal analysis can benefit from these new architectures. The utilization of low cost GPUs for programming may potentially facilitate real-time applications of previously offline algorithms.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Stone, J.V.: Independent Component Analysis: A Tutorial Introduction. MIT Press, Cambridge (2004)

    Google Scholar 

  2. Hyvärinen, A., Oja, E.: Independent Component Analysis: Algorithms and Applications. Neural Networks 13, 411–430 (2000)

    Article  Google Scholar 

  3. Ding, P., Kang, X., Zhang, L.: Personal Recognition Using ICA. In: Proceedings ICONIP (2001)

    Google Scholar 

  4. Esposito, F., et al.: Real-time Independent Component Analysis of fMRI Time-series. Neuroimage 20(4), 2209–2224 (2003)

    Article  MathSciNet  Google Scholar 

  5. Moore, S.K.: Multicore CPUs: Processor Proliferation- From Multicore to Many-core to Hard-to-describe-in-a-single-word Core. IEEE Spectrum, 40–42 (January 2011)

    Google Scholar 

  6. Kirk, D.B., Hwu, W.W.: Programming Massively Parallel Processors: A Hands on Approach. Morgan Kaufman, Burlington (2010)

    Google Scholar 

  7. Mushi, A.: OpenCL Specification Version 1.0. The Kronos Group (2009), www.khronos.org/registry/cl

  8. Blake, G., Dreslinksi, R.G., Mudge, T.: A Survey of Multicore Processors. IEEE Sig. Proc. Mag. 26(6), 26–37 (2009)

    Article  Google Scholar 

  9. NVIDIA OpenCL Best Practices Guide Version 1.0, NVIDIA (August 10, 2009)

    Google Scholar 

  10. Hyvärinen, A.: Fast and Robust Fixed-Point Algorithms for Independent Component Analysis. IEEE Transactions on Neural Networks 10(3), 626–634 (1999)

    Article  Google Scholar 

  11. Bell, A.J., Sejnowski, T.J.: An Information-Maximization Approach to Blind Separation and Blind Deconvolution. Neural Computation 7, 1129–1159 (1995)

    Article  Google Scholar 

  12. Cardoso, J.F.: High-Order Contrasts for Independent Component Analysis. Neural Computation 11, 157–192 (1999)

    Article  Google Scholar 

  13. Belouchrani, A., Abed-Meraim, K., Cardoso, J.F., Moulines, E.: A Blind Source Separation Technique Based on Second-Order Statistics. IEEE Transactions on Signal Processing 45, 434–444 (1997)

    Article  Google Scholar 

  14. Kachenoura, A., Albera, L., Senhadji, L., Comon. P.: ICA: A Potential Tool for BCI Systems. IEEE Signal Processing Magazine, 57–68 (January 2008)

    Google Scholar 

  15. Lee, T.-W., Girolami, M., Sejnowski, T.J.: Independent Component Analysis Using an Extended Infomax Algorithm for Mixed Subgaussian and Supergaussian Sources. Neural Computation 11, 417–441 (1999)

    Article  Google Scholar 

  16. Oliva-Moreno, L.N., Arce-Aleman, M.A., Lamont, J.G.: Implementation of Infomax ICA Algorithm for Blind Source Separation. In: Electronics, Robotics and Automotive Mechanics Conference, pp. 447–451. IEEE Press, Los Alamitos (2008)

    Google Scholar 

  17. Cardoso, J.F.: Infomax and Maximum Likelihood for Source Separation. IEEE Letters on Signal Processing 4, 112–114 (1997)

    Article  Google Scholar 

  18. Stone, J.E., Gohara, D., Shi, G.: OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems. Computing in Science and Engineering 12(3), 66–73 (2010)

    Article  Google Scholar 

  19. Schnabel, R.B.: A View of the Limitations, Opportunities, and Challenges in Parallel Nonlinear Optimization. Parallel Computing 21(3), 875–905 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  20. Volkov, V., Demmel, J.W.: Benchmarking GPUs to Tune Dense Linear Algebra. In: Proc. 2008 ACM/IEEE Conference on Supercomputing, pp. 1–11 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Forgette, J., Wachowiak-Smolíková, R., Wachowiak, M. (2011). Implementing Independent Component Analysis in General-Purpose GPU Architectures. In: Snasel, V., Platos, J., El-Qawasmeh, E. (eds) Digital Information Processing and Communications. ICDIPC 2011. Communications in Computer and Information Science, vol 189. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22410-2_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-22410-2_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-22409-6

  • Online ISBN: 978-3-642-22410-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics