Robust Task-Parallel Solution of the Triangular Sylvester Equation
- 358 Downloads
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.
KeywordsOverflow protection Task parallelism Triangular Sylvester equation Real Schur form
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).
- 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
- 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
- 9.Mikkelsen, C.C.K., Karlsson, L.: Robust solution of triangular linear systems. In: NLAFET Working Note 9 (2017)Google Scholar
- 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.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
- 14.Van Zee, F.G.: libflame: The Complete Reference (version 5.1.0-56) (2009)Google Scholar