ConcurrentMIP with MPI parallel
AnsweredGood morning,
I wrote an mpi parallel application that solves multiple instances in parallel. The batch software I use is SLURM. In the SLURM batch script, I assign each process five cpus. I run 4 processes on a node of 20 cores. The logfiles tell me that Gurobi is indeed using five cores. However, when I enable the ConcurrentMIP=5 parameter, the program gets much much slower. The logfile shows the expected print (sth about solving multiple strategies in parallel).
Does anyone know why this problem occurs?
Thank you very much in advance!
Best wishes
Anna
-
Official comment
This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum, or try Gurobot, our chatbot interface offering instant, expert-level support. -
Hi Anna,
ConcurrentMIP=5 runs 5 parallel MIP solves of the same model with slightly different parameters distributed among the available threads. When you run your model with Threads=5 and ConcurrentMIP=5, Gurobi will run 5 parallel MIP runs of your model with slightly different parameters using 1 thread each. In general, MIP solution greatly benefits from using more than 1 thread. You could try setting ConcurrentMIP=2 to provide more threads to the respective parallel concurrent runs. Most often ConcurrentMIP does not perform better than a single run using all available threads and should be rather only used if your model suffers from performance variability, i.e., when changing the Seed parameter greatly affects solver performance.
Best regards,
Jaromił0 -
Hi Jaromił,
thank you a lot for your reply! :)
Best wishes
Anna
0
Post is closed for comments.
Comments
3 comments