[Ipopt] Ticket 216 - interface to MKL PARDISO

Tony Kelman kelman at berkeley.edu
Wed Aug 21 00:52:20 EDT 2013

>From the discussion in 2011 it appears inertia functionality should be fine, 
the matching-based preprocessing is a separate issue.

You can see exactly how Ipopt is currently calling Pardiso here, to check if 
anything looks like it would not work with the MKL version at a source 
and how Ipopt's configure handles detection of Pardiso and building Ipopt's 
interface to it here:

Although curiously, the line in IpPardisoSolverInterface.hpp that says 
#define PARDISO_MATCHING_PREPROCESS has been commented out since it was 
added in SVN revision 1791, so it would seem all the code under an #ifdef 
PARDISO_MATCHING_PREPROCESS is not currently being used? I wonder if that 
might explain the not-fantastic performance of the official Pardiso the last 
time I tried to run it on one of my problems.

If I have an extra minute I might check what version of MKL I have installed 
and see if anything obvious breaks when trying to build/run Ipopt with MKL 
Pardiso currently.


-----Original Message----- 
From: Kalinkin, Alexander A
Sent: Tuesday, August 20, 2013 9:22 PM
To: Tony Kelman
Cc: ipopt at list.coin-or.org
Subject: RE: Ticket 216 - interface to MKL PARDISO

Hi Tony,
I see. I will check current implementation of inertia functionality to 
provide deeper answer on this question. Nevertheless, is inertia is only one 
barrier or there is another requests?

-----Original Message-----
From: Tony Kelman [mailto:kelman at berkeley.edu]
Sent: Wednesday, August 21, 2013 10:52 AM
To: Kalinkin, Alexander A
Cc: ipopt at list.coin-or.org
Subject: Ticket 216 - interface to MKL PARDISO


I would’ve responded to this on the ticket page you opened 
(https://projects.coin-or.org/Ipopt/ticket/216), but it appears there was an 
update to Trac today and I can’t seem to log in.

You’ve probably done the searching as well regarding past discussions on 
this topic, but I’ll include links here anyway to a few that I was able to 
find for reference's sake:


In the 2008-2009 time frame of the first three links, the biggest issue was 
that MKL's PARDISO implementation did not calculate and/or output the 
inertia of the factorized matrix. The fourth link from 2011 indicates the 
inertia was added in a relatively recent version of MKL. Olaf Schenk 
provided a reference there to a paper "Matching-based Preprocessing 
Algorithms to the Solution of Saddle-Point Problems in Large-Scale Nonconvex 
Interior-Point Optimization" that describes the remaining feature present in 
the primary implementation of PARDISO that is not yet available (or was not 
at the time) in the MKL version. Can you comment on whether the pivoting 
algorithm described in that paper is or could be implemented in Intel MKL's 
version of PARDISO?

Glad you posted, this could be a quite helpful alternative to provide users 
of Ipopt.


Closed Joint Stock Company Intel A/O
Registered legal address: Krylatsky Hills Business Park,
17 Krylatskaya Str., Bldg 4, Moscow 121614,
Russian Federation

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies. 

More information about the Ipopt mailing list