The Journal of Supercomputing

, Volume 75, Issue 3, pp 1051–1064 | Cite as

Fast block QR update in digital signal processing

  • Fran J. Alventosa
  • Pedro AlonsoEmail author
  • Antonio M. Vidal
  • Gema Piñero
  • Enrique S. Quintana-Ortí


The processing of digital sound signals often requires the computation of the QR factorization of a rectangular system matrix. However, sometimes, only a given (and probably small) part of the system matrix varies from the current sample to the next one. We exploit this fact to reuse some computations carried out to process the former sample in order to save execution time in the processing of the current sample. These savings can be critical for real-time applications running on low power consumption devices with high mobility. In addition, we propose a simple out-of-order task-parallel algorithm for the QR factorization using OpenMP that exploits the multicore capability of modern processors. Furthermore, in the presence of a Graphics Processing Unit (GPU) in the system, our algorithm is able to off-load some tasks to the GPU to accelerate the computation on these hardware devices.


QR factorization QR update jagged Matrix Real time Block QR 



This work was supported by the Spanish Ministry of Economy and Competitiveness under MINECO and FEDER projects TEC2015-67387-C4-1-R and TIN2014-53495-R; and the Generalitat Valenciana PROMETEOII/2014/003.


  1. 1.
    Augonnet C, Thibault S, Namyst R (2010) StarPU: a runtime system for scheduling tasks over accelerator-based multicore machines. Research Report RR-7240, INRIAGoogle Scholar
  2. 2.
    Buttari A, Langou J, Kurzak J, Dongarra J (2008) Parallel tiled QR factorization for multicore architectures. Concurr Comput Pract Exp 20(13):1573–1590CrossRefGoogle Scholar
  3. 3.
    Buttari A, Langou J, Kurzak J, Dongarra J (2009) A class of parallel tiled linear algebra algorithms for multicore architectures. Parallel Comput 35(1):38–53MathSciNetCrossRefGoogle Scholar
  4. 4.
    Chan E, Quintana-Ortí ES, Quintana-Ortí G, van de Geijn R (2007) Supermatrix out-of-order scheduling of matrix operations for smp and multi-core architectures. In: Proceedings of the Nineteenth Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA ’07. ACM, New York, pp 116–125Google Scholar
  5. 5.
    Chan E, Van Zee FG, Quintana-Ortí ES, Quintana-Ortí G, De Van Geijn R (2007) Satisfying your dependencies with supermatrix. In: Proceedings—2007 IEEE International Conference on Cluster Computing, CLUSTER 2007. pp 91–99Google Scholar
  6. 6.
    Chan E, Van Zee FG, Bientinesi P, Quintana-Ortí ES, Quintana-Ortí G, van de Geijn RA (2008) Supermatrix: a multithreaded runtime scheduling system for algorithms-by-blocks. In: Chatterjee S, Scott ML (eds) PPOPP. ACM, New york, pp 123–132Google Scholar
  7. 7.
    Golub GH, Van Loan CF (2013) Matrix computations. Johns Hopkins Studies in the Mathematical Sciences. Johns Hopkins University Press, BaltimoreGoogle Scholar
  8. 8.
    Gunter BC, van de Geijn RA (2005) Parallel out-of-core computation and updating the QR factorization. ACM Trans Math Softw 31(1):60–78MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Joffrain T, Quintana-Ortí ES, van de Geijn RA (2004) Rapid development of high-performance out-of-core solvers. In: Applied Parallel Computing, State of the Art in Scientific Computing, 7th International Workshop, PARA 2004, Lyngby, Denmark, June 20–23, 2004, revised selected papers. pp 413–422Google Scholar
  10. 10.
    NVIDIA. The cuBLAS library. Accessed May 2017
  11. 11.
    Openblas. Accessed May 2017
  12. 12.
    Quintana-Ortí G, Quintana-Ortí ES, Van De Geijn RA, Van Zee FG, Chan E (2009) Programming matrix algorithms-by-blocks for thread-level parallelism. ACM Trans Math Softw 36(3):14:1–14:26MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    The OmpSs Programming Model. Accessed May 2017
  14. 14.
    Wende F, Steinke T, Cordes F (2014) Multi-threaded kernel offloading to gpgpu using hyper-q on kepler architecture. Technical Report 14-19, ZIB, Takustr.7, 14195 BerlinGoogle Scholar

Copyright information

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

Authors and Affiliations

  1. 1.Depto. de Sistemas Informáticos y ComputaciónUniversitat Politècnica de ValènciaValenciaSpain
  2. 2.Instituto de Telecomunicaciones y Aplicaciones Multimedia (iTEAM)Universitat Politècnica de ValènciaValenciaSpain
  3. 3.Dept. Ingeniería y Ciencia de ComputadoresUniversidad Jaume ICastellónSpain

Personalised recommendations