SCIP Concurrency (Multi-threading)

As of version 4 SCIP supports concurrency. It mentions here that the option "parallel/maxnthreads" must be set as appropriate, it also mentions that SCIP must be compiled differently to leverage this functionality and that SCIPsolveParallel should be called instead of optimize in the SCIP shell.

I’m using a Mac, so as described in the SCIP.jl read me I don’t need to install SCIP separately.

Currently to use SCIP I’m running

using JuMP
using SCIP
model = Model(optimizer_with_attributes(SCIP.Optimizer, "parallel/maxnthreads"=>10)

which doesn’t cause any error, but also doesn’t seem to use multi threading. Given I’m not compiling SCIP myself and using it via JuMP > SCIP.jl how can I use multi threading as there are three steps required to use multi-threading when using SCIP directly?

  1. Compile with a flag for multi_threading (I’m unsure whether I have SCIP installed this way)
  2. Set the number of threads attribute
  3. Call SCIPsolveParallel instead of optimize

(Moved this to the Mathematical Optimization category.)

FYI: You can see how the SCIP binary is built here;

1 Like