<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<STYLE type=text/css>DIV {
        MARGIN: 0px
}
</STYLE>

<META content="MSHTML 6.00.2900.5921" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=867504319-08042010>Lewis,</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=867504319-08042010></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=867504319-08042010>Have you tried to run your application through the 
debugger and set break points in the Pardiso interface code to see where it's 
crashing?&nbsp; My initial suggestion is to verify (by stepping into the code) 
that the new interface to Pardiso is being called and not the older one.&nbsp; 
If you have defined HAVE_PARDISO_NEWINTERFACE, you should be calling the correct 
interface.&nbsp; Also be sure that the F77_FUNC() macro is not being used as 
described below.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=867504319-08042010></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=867504319-08042010>If you are using the Intel Math Kernel Library (MKL) 
for BLAS, you will need to add the appropriate libraries (mkl_intel_c.lib, 
mkl_thread.lib, mkl_core.lib, libiomp5md.lib in my particular case) to the link 
line AFTER libpardiso400_INTEL_IA32.lib.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=867504319-08042010></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=867504319-08042010>In Visual Studio, I've also set my calling convention 
for the Ipopt library to __cdecl (/Gd).&nbsp; It may be worthwhile to check your 
setting as well.&nbsp;&nbsp; </SPAN></FONT></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> James Henderson 
[mailto:jamesh125125@yahoo.com] <BR><B>Sent:</B> Thursday, April 08, 2010 1:00 
PM<BR><B>To:</B> Teeter, Chuck; ipopt ipopt<BR><B>Subject:</B> Ipopt crash with 
PARDISO 4.0 when it starts.<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV 
style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman,new york,times,serif"><SPAN 
class=cgSelectable title="View all emails from this sender&nbsp;"></SPAN>
<DIV 
style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman,new york,times,serif">Dear 
all and Teeter,<BR><BR>I have follow your instruction , but when i set 
everything ,and start to compute , ipopt crash and the ipopt log prints 
nothing.<BR>I think i have the correct pardiso license and put it at the right 
place, becasue when i do it wrong, the ipopt log will still have some error 
messages in it.<BR>But when i do it right, the ipopt crash and ipopt log is 
empty.<BR>What happen? And how can i fix it? <BR><BR>P.S. I can use ma27, ma57 
and mumps as linear solver too.<BR><BR>Thank you.<BR>Lewis<BR><BR>
<DIV 
style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman,new york,times,serif"><FONT 
face=Tahoma size=2>
<HR SIZE=1>
<B><SPAN style="FONT-WEIGHT: bold">From:</SPAN></B> "Teeter, Chuck" 
&lt;cteeter@Suncor.com&gt;<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> 
York Tang &lt;hkyork@gmail.com&gt;<BR><B><SPAN 
style="FONT-WEIGHT: bold">Cc:</SPAN></B> ipopt@list.coin-or.org<BR><B><SPAN 
style="FONT-WEIGHT: bold">Sent:</SPAN></B> Fri, February 19, 2010 4:13:46 
AM<BR><B><SPAN style="FONT-WEIGHT: bold">Subject:</SPAN></B> Re: [Ipopt] Can 
PARDISO 4.0 work with ipopt in windows?<BR></FONT><BR>
<META content=off>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2>York,</FONT></SPAN></DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT color=#0000ff><FONT 
face=Arial size=2>I use Visual Studio 2008 to build IPOPT 3.8.&nbsp; In my case, 
I build IPOPT as a static library and link it with PARDISO.&nbsp; If you are 
using Visual Studio, you must make sure that the file 
"IpPardisoSolverInterface.cpp" is included in your project file, or it will not 
be compiled even if you've changed it.&nbsp; I've noticed that some IPOPT source 
files have not been included in the Visual Studio project file, and I've had to 
manually add some on occasion.</FONT></FONT></SPAN></DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2>If you are building PARDISO as a DLL, you have to perform a few 
additional steps.</FONT></SPAN></DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT size=2><FONT face=Arial 
color=#0000ff>1.&nbsp; When you build the IPOPT DLL, you will need to link it 
with the import library named "libpardiso400_INTEL_IA32.lib".&nbsp; This is done 
so that when the IPOPT DLL is loaded by your executable, it can find the PARDISO 
functions it needs at runtime in&nbsp;"libpardiso400_INTEL_IA32.dll".&nbsp; The 
process of building the IPOPT DLL should also produce a .lib file of the same 
name as the DLL.</FONT></FONT></SPAN></DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2>2.&nbsp;&nbsp;When you build your executable, you must link your code to 
the .lib file that was produced when building IPOPT.&nbsp; This way, your 
executable can find the IPOPT functions it needs in the accompanying DLL at 
runtime.</FONT></SPAN></DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2>3.&nbsp; The file libiomp5md.dll is a runtime library (not to be confused 
with the import libraries mentioned above), and needs to be in the same 
directory as your executable.&nbsp; This DLL is used to support the Intel MKL 
code that is used by PARDISO.&nbsp; It may also be located somewhere else, 
provided that your system can find it, ie, it needs to be in a directory defined 
by the PATH environment variable.</FONT></SPAN></DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2>4.&nbsp; Do not rename "libpardiso400_INTEL_IA32.dll", or it will not be 
properly located at runtime.&nbsp; If you link IPOPT with 
libpardiso400_INTEL_IA32.lib, it expects to use a runtime DLL of the same 
name.</FONT></SPAN></DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2>5.&nbsp; You probably do not need the PARDISO_Template.zip file - I 
didn't need it.</FONT></SPAN></DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV align=left><SPAN class=921374619-18022010><FONT face=Arial color=#0000ff 
size=2>6.&nbsp; At run time, your executable, the IPOPT DLL, and file 
libiomp5md.dll must all reside in the same directory or be located in a 
directory defined by the PATH environment variable.</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader align=left>
<HR>
<FONT face=Tahoma size=2><B>From:</B> York Tang [mailto:hkyork@gmail.com] 
<BR><B>Sent:</B> Thursday, February 18, 2010 12:02 PM<BR><B>To:</B> Teeter, 
Chuck<BR><B>Cc:</B> ipopt@list.coin-or.org<BR><B>Subject:</B> Re: [Ipopt] Can 
PARDISO 4.0 work with ipopt in windows?<BR></FONT><BR></DIV>
<DIV></DIV>Dear Teeter,<BR><BR>I have tried your step, but still crash when the 
solver start (do not print any msg from the process)<BR><BR>Here is what i have 
done.<BR><BR>1. First i download the( INTEL, 32-bit, icc/ifort 10.1 Windows) 
(with MKL BLAS) Version of PARDISO.<BR>It has 4 
files(libpardiso400_INTEL_IA32.dll,libpardiso400_INTEL_IA32.lib,libiomp5md.dll,PARDISO_Template.zip)<BR>2. 
I named the "libpardiso400_INTEL_IA32.dll" to "libpardiso.dll". Put it next to 
my exe. (my exe can detect the licence is wrong, if i input a invalid licence 
file)<BR>3. And do all the thing that you mentioned. and replace the old 
Ipopt38.dll with the new one.<BR><BR>Where is my problem?<BR>Also What i need to 
do with the libpardiso400_INTEL_IA32.lib,libiomp5md.dll,PARDISO_Template.zip? 
(if i just want to use the PARDISO with ipopt)<BR>Thank you so much for your 
help!<BR><BR>York<BR><BR>
<DIV class=gmail_quote>2010/2/18 Teeter, Chuck <SPAN>&lt;<A 
href="mailto:cteeter@suncor.com">cteeter@suncor.com</A>&gt;</SPAN><BR>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">York,<BR><BR>PARDISO 
  does indeed work with IPOPT. &nbsp;I had an experience similar to<BR>yours, 
  but this is how I fixed it:<BR><BR>1. &nbsp;At the top of the IPOPT source 
  file IpPardisoSolverInterface.cpp,<BR>add the following preprocessor 
  definition if it does not already exist:<BR><BR>#ifndef 
  HAVE_PARDISO_NEWINTERFACE<BR>#define HAVE_PARDISO_NEWINTERFACE 
  1<BR>#endif<BR><BR><BR>2. &nbsp;In the same source file, remove the F77_FUNC() 
  macro definition from<BR>ALL references to functions PARDISOINIT() and 
  PARDISO(). &nbsp;For example,<BR>instead of the original function 
  prototype:<BR><BR>void F77_FUNC(pardisoinit,PARDISOINIT) (void* PT, const 
  ipfint* MTYPE,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;const 
  ipfint*<BR>SOLVER,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ipfint* IPARM,<BR>&nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp;double* DPARM,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ipfint* 
  ERROR );<BR><BR><BR>Use the following version instead:<BR><BR>void 
  PARDISOINIT(void* PT, const ipfint* MTYPE,<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp;const ipfint*<BR>SOLVER,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ipfint* 
  IPARM,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;double* DPARM,<BR>&nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp;ipfint* ERROR );<BR><BR>I commented out the original references 
  and created the modified<BR>versions to be used instead. &nbsp;Do the same for 
  all function calls as<BR>well, and this should fix your problem after 
  rebuilding IPOPT.<BR><BR>One final point: If you haven't already done so, 
  remember to define<BR>HAVE_PARDISO and HAVE_PARDISO_PARALLEL (if applicable) 
  in the IPOPT<BR>source file IpoptConfig.h<BR>
  <DIV>
  <DIV></DIV>
  <DIV class=h5><BR><BR><BR><BR>-----Original Message-----<BR>From: <A 
  href="mailto:Olaf.Schenk@unibas.ch">Olaf.Schenk@unibas.ch</A> [mailto:<A 
  href="mailto:Olaf.Schenk@unibas.ch">Olaf.Schenk@unibas.ch</A>]<BR>Sent: 
  Thursday, February 18, 2010 2:27 AM<BR>To: York Tang<BR>Cc: <A 
  href="mailto:ipopt@list.coin-or.org">ipopt@list.coin-or.org</A>; Teeter, 
  Chuck<BR>Subject: Re: [Ipopt] Can PARDISO 4.0 work with ipopt in 
  windows?<BR><BR>York,<BR><BR>The PARDISO 4.0.0 DLL is working correctly with 
  IPOPT. I am copying<BR>Chuck Teeter in this email since he is actually using 
  IPOPT and PARDISO<BR>on Windows.<BR><BR>Olaf<BR><BR>&nbsp;Tang &lt;<A 
  href="mailto:hkyork@gmail.com">hkyork@gmail.com</A>&gt;:<BR><BR>&gt; Dear 
  all,<BR>&gt;<BR>&gt; Recently i tried to download PARDISO dll from its 
  website, after i<BR>&gt; provided its license file , the program 
  crashed.<BR>&gt; Can PARDISO 4.0 work with ipopt in windows? the ipopt 
  documentation<BR>&gt; said no , but someone in the mail archive said 
  yes.<BR>&gt; Which one is correct? if yes, what i need to set, after i have 
  the dll<BR><BR>&gt; and the license file.<BR>&gt; thank you<BR>&gt;<BR>&gt; 
  York<BR>&gt;<BR><BR><BR><BR>----------------------------------------------------------------<BR>This 
  message was sent using IMP, the Internet Messaging 
  Program.<BR><BR><BR></DIV></DIV>------------------------------------------------------------------------<BR>This 
  email and its contents are private and confidential, for the sole use of the 
  addressees. If you are not an intended recipient, copying, forwarding or other 
  distribution of this email or its contents by any means is prohibited. If you 
  believe that you received this email in error please notify the original 
  sender immediately.<BR><BR>Petro-Canada is a Suncor Energy 
  business.<BR><BR>------------------------<BR><BR>Ce courriel et son contenu 
  sont privés et confidentiels, et sont destinés à l’usage exclusif des 
  destinataires. Si vous n'êtes pas le destinataire prévu, toute reproduction, 
  transfert ou autre forme de diffusion de ce courriel ou de son contenu par 
  quelque moyen que ce soit est interdit. Si vous croyez avoir reçu ce courriel 
  par erreur, veuillez en aviser l'expéditeur original 
  immédiatement.<BR><BR>Petro-Canada est une entreprise de Suncor 
  Énergie.<BR><BR></BLOCKQUOTE></DIV><BR>
<DIV>&nbsp;</DIV>------------------------------------------------------------------------<BR>This 
email and its contents are private and confidential, for the sole use of the 
addressees. If you are not an intended recipient, copying, forwarding or other 
distribution of this email or its contents by any means is prohibited. If you 
believe that you received this email in error please notify the original sender 
immediately. <BR><BR>Petro-Canada is a Suncor Energy 
business.<BR><BR>------------------------<BR><BR>Ce courriel et son contenu sont 
privés et confidentiels, et sont destinés à l’usage exclusif des destinataires. 
Si vous n'êtes pas le destinataire prévu, toute reproduction, transfert ou autre 
forme de diffusion de ce courriel ou de son contenu par quelque moyen que ce 
soit est interdit. Si vous croyez avoir reçu ce courriel par erreur, veuillez en 
aviser l'expéditeur original immédiatement. <BR><BR>Petro-Canada est une 
entreprise de Suncor Énergie.<BR>
<META content=on></DIV></DIV></DIV><BR><DIV>&nbsp;</DIV>------------------------------------------------------------------------<br>This email and its contents are private and confidential, for the sole use of the addressees. If you are not an intended recipient, copying, forwarding or other distribution of this email or its contents by any means is prohibited. If you believe that you received this email in error please notify the original sender immediately. <br><br>Petro-Canada is a Suncor Energy business.<br><br>------------------------<br><br>Ce courriel et son contenu sont privés et confidentiels, et sont destinés à l’usage exclusif des destinataires. Si vous n'êtes pas le destinataire prévu, toute reproduction, transfert ou autre forme de diffusion de ce courriel ou de son contenu par quelque moyen que ce soit est interdit. Si vous croyez avoir reçu ce courriel par erreur, veuillez en aviser l'expéditeur original immédiatement. <br><br>Petro-Canada est une entreprise de Suncor Énergie.<br></BODY></HTML>