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

Ipopt coin-trac at coin-or.org
Sat Apr 5 14:31:50 EDT 2014


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

Comment (by stefan):

 The method of using a combination of memory address and object-local tag
 counter has reported to be buggy, as an object can obtain the same memory
 address as a previously destructed object from the same class, so the tag
 was not unique.

 With r2424, we tried to make this problem happen less likely by
 initializing the tag counter to the CPU times (in microseconds).

 However, as this is more a workaround than a solution, r2472 restored the
 original unique_tag methodology (by reverting r2424, r2269, r2267, r2250,
 r2187), i.e., ensure unique tags for a single-threaded run.

 Furthermore, with r2473, the unique_tag variable is now declared to be
 [[http://en.wikipedia.org/wiki/Thread-local_storage|thread-local]], so
 thread-safety should be restored.

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



More information about the Ipopt-tickets mailing list