Efficient Task Graph Scheduling for Parallel QR Factorization in SLSQP
Efficient Task Graph Scheduling for Parallel QR Factorization in SLSQP
Efficient task scheduling is paramount in parallel programming on multi-core architectures, where tasks are fundamental computational units. QR factorization is a critical sub-routine in Sequential Least Squares Quadratic Programming (SLSQP) for solving non-linear programming (NLP) problems. QR factorization decomposes a matrix into an orthogonal matrix Q and an upper triangular matrix R, which are essential for solving systems of linear equations arising from optimization problems. SLSQP uses an in-place version of QR factorization, which requires storing intermediate results for the next steps of the algorithm. Although DAG-based approaches for QR factorization are prevalent in the literature, they often lack control over the intermediate kernel results, providing only the final output matrices Q and R. This limitation is particularly challenging in SLSQP, where intermediate results of QR factorization are crucial for back-substitution logic at each iteration. Our work introduces novel scheduling techniques using a two-queue approach to execute the QR factorization kernel effectively. This approach, implemented in high-level C++ programming language, facilitates compiler optimizations and allows storing intermediate results required by back-substitution logic. Empirical evaluations demonstrate substantial performance gains, including a 10x improvement over the sequential QR version of the SLSQP algorithm.
Soumyajit Chatterjee、Rahul Utkoor、Uppu Eshwar、Sathya Peri、V. Krishna Nandivada
计算技术、计算机技术
Soumyajit Chatterjee,Rahul Utkoor,Uppu Eshwar,Sathya Peri,V. Krishna Nandivada.Efficient Task Graph Scheduling for Parallel QR Factorization in SLSQP[EB/OL].(2025-06-11)[2025-07-20].https://arxiv.org/abs/2506.09463.点此复制
评论