Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Replace memory allocator

    Posted 02/03/20 06:56 AM

    Originally posted by: BenjaminKlotz


    Hi,

    I am using the CPLEX c interface, loading CPLEX as a dll.

    I am solving many MIP instances concurrently, starting one CPLEX instance per thread.

    The standard malloc on my system performs poorly. As a result, my approach does not scale past 30 threads, due to contention in malloc performed by CPLEX.

    Is there a way to configure CPLEX to use a custom allocator?

    I am aware of the option to preload a libc replacement. Unfortunately, this is not feasible for me, as my code (and also CPLEX) is loaded as a dll as part of a bigger flow that I don't control.

    Any suggestions are appreciated :)

    Ben


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Replace memory allocator

    Posted 02/04/20 11:54 AM

    Currently, it is not possible to specify custom memory allocators for CPLEX.

    But there are some things you could try. They are not officially supported so I'd rather not mention them here. But you can drop me a message to daniel(dot)junglas(at)de(dot)ibm(dot)com and we can discuss. Please also mention what operating system you use.


    #CPLEXOptimizers
    #DecisionOptimization