Advertisement

Robust Task-Parallel Solution of the Triangular Sylvester Equation

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12043)

Abstract

The Bartels-Stewart algorithm is a standard approach to solving the dense Sylvester equation. It reduces the problem to the solution of the triangular Sylvester equation. The triangular Sylvester equation is solved with a variant of backward substitution. Backward substitution is prone to overflow. Overflow can be avoided by dynamic scaling of the solution matrix. An algorithm which prevents overflow is said to be robust. The standard library LAPACK contains the robust scalar sequential solver dtrsyl. This paper derives a robust, level-3 BLAS-based task-parallel solver. By adding overflow protection, our robust solver closes the gap between problems solvable by LAPACK and problems solvable by existing non-robust task-parallel solvers. We demonstrate that our robust solver achieves a performance similar to non-robust solvers.

Keywords

Overflow protection Task parallelism Triangular Sylvester equation Real Schur form 

Notes

Acknowledgements

The authors thank the research group for their support. This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 671633. Support was received by eSSENCE, a collaborative e-Science programme funded by the Swedish Government via the Swedish Research Council (VR).

References

  1. 1.
    Bartels, R.H., Stewart, G.W.: Solution of the matrix equation \(AX+XB=C\). Commun. ACM 15(9), 820–826 (1972)CrossRefGoogle Scholar
  2. 2.
    Buttari, A., Langou, J., Kurzak, J., Dongarra, J.: A class of parallel tiled linear algebra algorithms for multicore architectures. Parallel Comput. 35(1), 38–53 (2009)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Chan, E., Van Zee, F.G., Bientinesi, P., Quintana-Orti, E.S., Quintana-Orti, G., Van de Geijn, R.: Supermatrix: a multithreaded runtime scheduling system for algorithms-by-blocks. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel programming, pp. 123–132. ACM (2008)Google Scholar
  4. 4.
    Cosnard, M., Jeannot, E., Yang, T.: Compact DAG representation and its symbolic scheduling. J. Parallel Distrib. Comput. 64(8), 921–935 (2004)CrossRefGoogle Scholar
  5. 5.
    Drebes, A., Pop, A., Heydemann, K., Cohen, A., Drach, N.: Scalable task parallelism for NUMA: a uniform abstraction for coordinated scheduling and memory management. In: International Conference on Parallel Architecture and Compilation Techniques, pp. 125–137. IEEE (2016)Google Scholar
  6. 6.
    Golub, G.H., Van Loan, C.F.: Matrix Computations, 3rd edn. John Hopkins University Press, Baltimore (1996)zbMATHGoogle Scholar
  7. 7.
    Higham, N.J.: Accuracy and Stability of Numerical Algorithms, 2nd edn. SIAM, Philadelphia (2002)CrossRefGoogle Scholar
  8. 8.
    Jonsson, I., Kågström, B.: Recursive blocked algorithms for solving triangular systems - Part I: one-sided and coupled Sylvester-type matrix equations. ACM TOMS 28(4), 392–415 (2002)CrossRefGoogle Scholar
  9. 9.
    Mikkelsen, C.C.K., Karlsson, L.: Robust solution of triangular linear systems. In: NLAFET Working Note 9 (2017)Google Scholar
  10. 10.
    Kjelgaard Mikkelsen, C.C., Karlsson, L.: Blocked algorithms for robust solution of triangular linear systems. In: Wyrzykowski, R., Dongarra, J., Deelman, E., Karczewski, K. (eds.) PPAM 2017. LNCS, vol. 10777, pp. 68–78. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-78024-5_7CrossRefGoogle Scholar
  11. 11.
    Perez, J.M., Badia, R.M., Labarta, J.: A dependency-aware task-based programming environment for multi-core architectures. In: 2008 IEEE International Conference on Cluster Computing, pp. 142–151. IEEE (2008)Google Scholar
  12. 12.
    Quintana-Ortí, E.S., Van De Geijn, R.A.: Formal derivation of algorithms: the triangular Sylvester equation. ACM TOMS 29(2), 218–243 (2003)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Simoncini, V.: Computational methods for linear matrix equations. SIAM Rev. 58(3), 377–441 (2016)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Van Zee, F.G.: libflame: The Complete Reference (version 5.1.0-56) (2009)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Department of Computing ScienceUmeå UniversityUmeåSweden

Personalised recommendations