It is difficult to predict how Gurobi performs on a certain machine. In general, the solver benefits from high CPU speeds and low-latency, high-bandwidth memory. You can consult this benchmark to compare different CPUs with respect to single-thread performance.
Having multiple cores at your disposal can improve performance, but this is highly problem-dependent.
This is also true for the amount of memory (RAM). If the model cannot be solved without exceeding physical memory, this will have a strong negative impact on performance. Even small models can require a lot of memory when the search requires a large MIP tree. In such cases, the NodeFileStart parameter can be used to write compressed node information to disk and free some memory. More channels, e.g., DDR4, increase the data throughput and are preferred over single-channel RAM. Memory benchmarks can be found here.
Whenever possible, we recommend benchmarking to determine real performance.
A general guideline: if you are solving a large MIP in parallel, it is best to use a system with the fastest possible clock rate, using the fastest available memory, with as many fully populated memory channels as are available. Current Intel Xeon systems support up to six channels per CPU, while current AMD EPYC systems support up to eight. Desktop and low-end server configurations typically have fewer channels.
- How do I avoid an out-of-memory condition?
- Why does Gurobi perform differently on different machines?
- What hardware should I select when running Gurobi?
- Is there a way to predict how long it will take Gurobi to solve a MIP?