Julia/JuMP efficiency comparison between different CPUs

What performance metrics of CPUs should we pay attention to since I noticed that for two kinds of CPUs, the modeling speed and memory consumption is totally different.
For Intel(R) Xeon(R) Platinum 8358 CPU @ 2.60GHz, my program took over two days to finish the modeling and solving processes. But for AMD EPYC 9654 CPU @ 2.40 GHz, this process took just four to six hours. What causes the 8-12x difference in the efficiency?

Some of it will be the different computers.

But if you are solving a difficult MIP, it could just be luck of different random seeds etc.

There’s no easy answer without knowing the details of your particular code.

The performance difference is measured for the same JuMP model. The Intel CPUs are on the hpc of my university and AMD CPUs are on my machine. I’m quite curious about the dramatic performance difference.

There’s a couple “obvious” things that would cause a difference.
1st. the Epyc is 96 cores vs 32 for the xeon. That’s a 3x difference right there. Secondly, the Epyc has 384mb of L3 cache compared to 48 for the intel CPU. If the model first fully or mostly in cache, that will mean that the xeon is having to use main memory a lot more which will be a bunch slower. Thirdly, although the Epyc is only 2.4 ghz base, it has a 3.5 ghz all core turbo which could add another 50% performance.

1 Like

For the cores: it really depends on the model solver that they are using. More cores is not always a linear speedup with MIP solvers.

My experiences do tell me that the solving performance is not linear to the cores. I tried different core configurations to find a suitable one for my models and 32 seems perfect for my situation.