[Ipopt-tickets] [Ipopt] #167: Any plan to make Ipopt thread-safe

Ipopt coin-trac at coin-or.org
Sun Mar 31 10:36:23 EDT 2013


#167: Any plan to make Ipopt thread-safe
--------------------------------+---------------------------
  Reporter:  FabF1              |      Owner:  ipopt-team
      Type:  enhancement        |     Status:  closed
  Priority:  normal             |  Component:  Ipopt
   Version:  3.8 (C++ Version)  |   Severity:  normal
Resolution:  fixed              |   Keywords:  thread-safety
--------------------------------+---------------------------
Changes (by stefan):

 * status:  new => closed
 * resolution:   => fixed


Comment:

 The unique_tag_ variable has been removed with r2187 according to Andreas'
 suggestion.
 The tag returned by !TaggedObject now consists of the object's memory
 address and a counter that is local to this object.

 The smart pointer implementation has not be modified and I don't plan to
 do so. I am not sure whether it would be sufficient, too.
 However, using a different Ipopt object for each thread and a thread safe
 linear solver (see [[http://list.coin-
 or.org/pipermail/ipopt/2012-July/002998.html|1]] and [[http://list.coin-
 or.org/pipermail/ipopt/2012-July/002999.html|2]]) should be sufficient for
 running several Ipopt instances in parallel. Some caution is still
 advised, though, since some static variables are still left, e.g., in
 Ipopt's debugging facility, the linear solver loader, or in wallclock time
 measuring (see !IpUtils.cpp).

-- 
Ticket URL: <https://projects.coin-or.org/ticket/167#comment:2>
Ipopt <http://projects.coin-or.org/Ipopt>
Interior-point optimizer for nonlinear programs.



More information about the Ipopt-tickets mailing list