From 264b1c7c856a3082a742f0c135f17b74acb17c29 Mon Sep 17 00:00:00 2001 From: Stefan Vigerske Date: Mon, 9 Dec 2024 17:58:17 +0100 Subject: [PATCH] print PHASE and adding log for pardiso-mkl solve --- .../LinearSolvers/IpPardisoMKLSolverInterface.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Algorithm/LinearSolvers/IpPardisoMKLSolverInterface.cpp b/src/Algorithm/LinearSolvers/IpPardisoMKLSolverInterface.cpp index c7003c912..056e0498d 100644 --- a/src/Algorithm/LinearSolvers/IpPardisoMKLSolverInterface.cpp +++ b/src/Algorithm/LinearSolvers/IpPardisoMKLSolverInterface.cpp @@ -471,7 +471,7 @@ ESymSolverStatus PardisoMKLSolverInterface::Factorization( PHASE = 11; Jnlst().Printf(J_DETAILED, J_LINEAR_ALGEBRA, - "Calling Pardiso for symbolic factorization.\n"); + "Calling Pardiso for symbolic factorization (PHASE=%d).\n", PHASE); IPOPT_LAPACK_FUNC(pardiso, PARDISO)(PT_, &MAXFCT_, &MNUM_, &MTYPE_, &PHASE, &N, a_, ia, ja, &PERM, &NRHS, IPARM_, &MSGLVL_, &B, &X, &ERROR, DPARM_); @@ -509,7 +509,7 @@ ESymSolverStatus PardisoMKLSolverInterface::Factorization( IpData().TimingStats().LinearSystemFactorization().Start(); } Jnlst().Printf(J_MOREDETAILED, J_LINEAR_ALGEBRA, - "Calling Pardiso for factorization.\n"); + "Calling Pardiso for factorization (PHASE=%d).\n", PHASE); // Dump matrix to file, and count number of solution steps. if( HaveIpData() ) { @@ -642,6 +642,9 @@ ESymSolverStatus PardisoMKLSolverInterface::Solve( Index NRHS = nrhs; Number* X = new Number[nrhs * dim_]; + Jnlst().Printf(J_MOREDETAILED, J_LINEAR_ALGEBRA, + "Calling Pardiso to solve (PHASE=%d).\n", PHASE); + Number* ORIG_RHS = new Number[nrhs * dim_]; Index ERROR; // Initialize solution with zero and save right hand side