The Journal of Supercomputing

, Volume 75, Issue 3, pp 1284–1297 | Cite as

Accelerating the SRP-PHAT algorithm on multi- and many-core platforms using OpenCL

  • Jose M. Badía
  • Jose A. BellochEmail author
  • Maximo Cobos
  • Francisco D. Igual
  • Enrique S. Quintana-Ortí


The Steered Response Power with Phase Transform (SRP-PHAT) algorithm is a well-known method for sound source localization due to its robust performance in noisy and reverberant environments. This algorithm is used in a large number of acoustic applications such as automatic camera steering systems, human–machine interaction, video gaming and audio surveillance. SPR-PHAT implementations require to handle a high number of signals coming from a microphone array and a huge search grid that influences the localization accuracy of the system. In this context, high performance in the localization process can only be achieved by using massively parallel computational resources. Different types of multi-core machines based either on multiple CPUs or on GPUs are commonly employed in diverse fields of science for accelerating a number of applications, mainly using OpenMP and CUDA as programming frameworks, respectively. This implies the development of multiple source codes which limits the portability and application possibilities. On the contrary, OpenCL has emerged as an open standard for parallel programming that is nowadays supported by a wide range of architectures. In this work, we evaluate an OpenCL-based implementations of the SRP-PHAT algorithm in two state-of-the-art CPU and GPU platforms. Results demonstrate that OpenCL achieves close-to-CUDA performance in GPU (considered as upper bound) and outperforms in most of the CPU configurations based on OpenMP.


SRP-PHAT OpenCL Multi-core CPUs GPUs 



This work has been supported by the postdoctoral fellowship from Generalitat Valenciana APOSTD/2016/069, the Spanish Government through TIN2014-53495-R, TIN2015-65277-R and BIA2016-76957-C3-1-R, and the Universidad Jaume I Project UJI-B2016-20.


  1. 1.
    Brandstein M, Ward D (eds) (2001) Microphone arrays. Springer, BerlinGoogle Scholar
  2. 2.
    Knapp CH, Carter GC (1976) The generalized correlation method for estimation of time delay. Trans Acoust Speech Signal Process 24:320–327CrossRefGoogle Scholar
  3. 3.
    Cobos M, Antonacci F, Alexandridis A, Mouchtaris A, Lee B (2017) A survey of sound source localization methods in wireless acoustic sensor networks. Wirel Commun Mobile Comput 2017, article ID 3956282Google Scholar
  4. 4.
    DiBiase JH (2000) A high accuracy, low-latency technique for talker localization in reverberant environments using microphone arrays. Ph.D. dissertation, Brown University, ProvidenceGoogle Scholar
  5. 5.
    Lee CH (2017) Location-aware speakers for the virtual reality environments. IEEE Access 5:2636–2640CrossRefGoogle Scholar
  6. 6.
    Altera Corporation (2013) Implementing FPGA design with the OpenCL standard. Accessed 21 May 2018
  7. 7.
    Savioja L, Välimäki V, Smith JO (2011) Audio signal processing using graphics processing units. J Audio Eng Soc 59(1–2):3–19Google Scholar
  8. 8.
    Belloch JA, Gonzalez A, Martínez-Zaldívar FJ, Vidal AM (2011) Real-time massive convolution for audio applications on GPU. J Supercomput 58(3):449–457CrossRefGoogle Scholar
  9. 9.
    Belloch JA, Gonzalez A, Quintana-Ortí ES, Ferrer M, Välimäki V (2017) GPU-based dynamic wave field synthesis using fractional delay filters and room compensation. IEEE/ACM Trans Audio Speech Lang Process 25(2):435–447CrossRefGoogle Scholar
  10. 10.
    Peruffo Minotto V, Rosito Jung C, Gonzaga da Silveira L, Lee B (2013) GPU-based approaches for real-time sound source localization using the SRP-PHAT algorithm. Int J High Perform Comput Appl 27(3):291–306CrossRefGoogle Scholar
  11. 11.
    Belloch JA, Gonzalez A, Vidal AM, Cobos M (2015) On the performance of multi-gpu-based expert systems for acoustic localization involving massive microphone arrays. Expert Syst Appl 42(13):5607–5620CrossRefGoogle Scholar
  12. 12.
    Seewald LC, Gonzaga L, Veronez MR, Minotto VP, Jung CR (2014) Combining srp-phat and two kinects for 3d sound source localization. Expert Syst Appl 41(16):0957–4174CrossRefGoogle Scholar
  13. 13.
    Theodoropoulos D, Kuzmanov G, Gaydadjiev G (2011) Multi-core platforms for beamforming and wave field synthesis. IEEE Trans Multimedia 3(2):235–245CrossRefGoogle Scholar
  14. 14.
    Belloch JA, Badia MJ, Igual FD, Quintana-Ortí E, Cobos M (2017) Evaluating sound source localization on multi and many-core platform. In: Proceedings of the 17th International Conference on Computational and Mathematical Methods in Science and Engineering, vol 1. Rota, pp 279–286Google Scholar
  15. 15.
    Cobos M, Marti A, Lopez JJ (2011) A modified SRP-PHAT functional for robust real-time sound source localization with scalable spatial sampling. IEEE Signal Process Lett 18(1):71–74CrossRefGoogle Scholar
  16. 16.
    Marti A, Cobos M, Lopez JJ (2013) A steered response power iterative method for high-accuracy acoustic source location. J Acoust Soc Am 134(4):2627–2630CrossRefGoogle Scholar
  17. 17.
    Frigo M, Johnson SG (2005) The design and implementation of FFTW3. Proc IEEE 93(2):216–231 (special issue on “Program generation, optimization, and platform adaptation”) CrossRefGoogle Scholar
  18. 18.
    NVIDIA cuFFT library user’s guide (2018). Accessed 21 May 2018
  19. 19.
    OpenCL fast Fourier transforms. Accessed 21 May 2018
  20. 20.
    Scarpino M (2012) OpenCL in action: how to accelerate graphics and computation. ManningGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Depto. de Ingeniería y Ciencia de ComputadoresUniversitat Jaume I de CastellóCastellón de la PlanaSpain
  2. 2.Depto. de Tecnología ElectrónicaUniversidad Carlos III de MadridLeganésSpain
  3. 3.Computer Science DepartmentUniversitat de ValènciaValenciaSpain
  4. 4.Depto. de Arquitectura de Computadores y AutomáticaUniversidad Complutense de MadridMadridSpain

Personalised recommendations