Effect of more processors
AnsweredI have a rather difficult model with binary variables and a quadratic (blinear) objective. I first tried running Gurobi 9.1.2 on my desktop, which has 4 cores, and it was progressing fairly nicely. Since I also have access to a large multi-core (in this case 32) computer, I decided to run it on that with exactly the same settings (the only non-standard setting I made was mipgap=0.10). It does much worse with 32 cores! For example, after looking at 56000 nodes in the B&B tree, the 4 core version has a gap of 20.7%, but the 32 core version has a gap of 28.1%. In addition, the 4 core version after examining only 2900 nodes finds an incumbent which is better than anything that the 32 core version has found after 426000 nodes. So, this tells me that just increasing the number of cores available has to be combined with some parameter changes, but which ones?
-
Hi Victor,
As discussed in the documentation of the Threads parameter, increasing the number of threads does not necessarily result in faster runtime on all models.
Furthermore, if you are sharing the 32-core machine with other jobs, this might spawn a number of threads greater than the number of logical processors, causing some or all jobs to slow down. One suggestion is to incrementally increase the number of threads to experimentally find the thread count that improves the runtime.
When running a Gurobi job on a different machine, the optimizer might take a completely different solution path. You might find the article Why does Gurobi perform differently on different machines? relevant. It would be a good idea to consider experimenting with different random Seed values to force the Gurobi optimizer to take different paths when exploring the search tree.
Best regards,
Maliheh
0
Please sign in to leave a comment.
Comments
1 comment