Use of threads in SCIP
Asked Answered
T

2

6

In the list of SCIP's parameters I see three types of references to the use of threads:

  • lp/threads (threads used for solving the LP, which don't matter when using SoPlex, according to this question).

  • parallel/{min, max}threads (number of threads during parallel solve).

  • concurrent/* (parameters related to the use of threads in concurrent mode).

My question(s) is(are): How are threads used in SCIP when using a default installation? Are the parallel/{min, max}threads parameters related only to the concurrent solver? If I don't turn on the concurrent solver, would SCIP use the available threads for solving the branch-and-bound subproblems in parallel?

Thanks in advance!

Thapsus answered 5/4, 2019 at 14:15 Comment(0)
A
4

All parameters in the "parallel/" and "concurrent/" sections of the SCIP parameter space only affect the concurrent mode.

SCIP is by default single-threaded, but can be parallelized using the UG-framework or by enabling the concurrent mode.

Awed answered 7/4, 2019 at 12:19 Comment(1)
how to proceed on windows then? UG framework is supported on linux only, so how to enable concurrent mode? moreover, according to benchmarking plato.asu.edu/ftp/milp.html, there is performance degradation when using fiberSCIP - 8 threads solve the problem slower than 1 thread. Could you also comment on that?Ostrowski
A
0
  1. Concurrent optimization is started by "concurrentopt" in the interactive shell or method "SCIPsolveConcurrent()" in the C API. The number of threads used can be controlled by parallel/minnthreads and parallel/maxnthreads. If a tight memory limit is set, then the thread count may be reduced further.

  2. When you look at the unscaled solving time on Hans Mittelmann's webpage you see that FiberSCIP achieves a slight speedup. Your statement that there would be a slowdown probably comes from the fact that the relative performance to the best solver is worse.

Generally: For both parallelization schemes, it is highly instance-dependent on whether parallelization holds potential to improve performance.

Amend answered 11/8, 2020 at 5:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.