Thursday, February 18, 2010

Threads question

So I have this new laptop which has a quad-core i7 cpu with hyper-threading enabled. That means programs see 8 cores. E.g. the task manager looks like:

taskmgr 

When running MIP’s with Cplex and Gurobi, the question is now, what is the best setting to solve models as quickly as possible:

  1. Keep hyper-threading and run with threads=4
  2. Keep hyper-threading and run with threads=8
  3. Turn off hyper-threading and run with threads=4
Assume the model is small enough so memory limits are not an issue. My guess is that is does not really matter in a significant way. Of course in a single run the performance may be very different because the solver takes a different path. One would need to test a large number of models to make any statements about the best settings.