Gurobi 9.1.1 only uses a single thread in MIP modeAnswered
I just upgraded from Gurobi 9.0.3 to 9.1.1 and noticed that MIPs were solving much slower than in the previous release. After inspecting CPU usage in Windows task manager during the solve I noticed that Gurobi was only using a single core during the MIP phase in 9.1.1. All cores are used in Barrier in LP problems or during the root relaxation phase of MIPs, but only a single core during branch-and-bound. I have the Threads parameter set to 12. When I downgrade to 9.0.3 again everything is fine - i.e. all cores are used during the MIP phase using the exact same code.
I get the same behavior on two different machines. Is this just me, a problem with Julia's Gurobi interface or a general Gurobi issue?
The drop which you see in the core usage is actually an improvement. What you see with version 9.1.1 is that the parallel threads have finished their work at the root node and are released to make them usable by the overall system. Once the main thread finishes its work in the root node, the additional threads are re-used again in the actual B&B procedure, i.e., when the number of nodes in the tree gets larger than 0.
What you see in version 9.0.3 is that although these threads have finished their work in the root node and are waiting for the main thread to finish, they are not freed and are thus kept occupied for no real reason.
Please sign in to leave a comment.