CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   determing the cores necessary (

lisa October 11, 2013 11:54

determing the cores necessary

I would like to know on how i could determine the no of cores which are necessary for my simulation. What kind of parametric study that i have to do.


RodriguezFatz October 14, 2013 03:26

What do you mean by "cores"? CPU cores?

lisa October 14, 2013 03:27

Yes, i mean cpu cores.

RodriguezFatz October 14, 2013 03:28

This doesn't make any sense. "Necessary" is a single core. If you have more than one, you will be faster. Why would you really need more than one core?

lisa October 14, 2013 03:39

I do understand that. I have a mesh sizes 1million, 2 Million elements. Just do a bit of maths on how many cores should i choose for such a simulation. Not always more cores mean more faster. Thats why wanted to know if there is any parameteric study on calculate the no of cores for simulations , like 4 core or 8 core.

RodriguezFatz October 14, 2013 03:42

1million cells will be much faster on 8 cores than on 4 cores. But you need 8 "real" cores, not 4 cores with hyperthreading.

lisa October 14, 2013 03:51

What do you mean on real cores. What is the difference of real cores and cores with hyperthreading. Can you please explain. Thanks

RodriguezFatz October 14, 2013 03:57

On your normal PC-CPU (at least if you have Intel, such as i7-xxxx), you have just 4 cores, but each of them can handle two threads. Windows / linux shows 8 CPUs (4x2). At least for my cases, they don't get faster when you use more than 4 of them. So it looks like that Fluent and OpenFoam can't gain any speed-up by hyperthreading, just by "real" CPUs.
As far as I know, Intel only offers more than 4 cores, when you get a Xeon.

lisa October 14, 2013 04:14

Yes i do have an i7 But i am planning to run on CLuster machines in Uni which has got supercomputers. So thought to check on this if there is amths behind checking the cores.

RodriguezFatz October 14, 2013 04:19

Here are my results, Fluent, all run the same number of iterations. If I recall correctly, the grid has about 1mio cells.
1 core: 881 sec.
2 cores: 485 sec.
3 cores: 377 sec.
4 cores: 320 sec.
6 cores: 357 sec.

Its an i7-3770 with windows. I know, that on a linux server (with many cores) the simulation gets much faster even for 8 cores.

triple_r October 16, 2013 13:20

Just to add to what Philipp said, you should ideally gain speed increase as long as the load on CPUs are balanced, and the interaction between the CPUs is not more time intensive than the computations on each CPU.

So, for example, if you have a pipe geometry with 1 million elements, and if you partition the geometry only in the axial direction:

By load balancing I mean: every CPU should get almost equal number of elements assigned to it. So if you want to use 8 CPUs, divide the pipe into 8 equal segments when you partition the domain.

The interaction between the cores is going to be only on a cross-section of the pipe, so by minimizing CPU-CPU interaction I mean: make sure the number of elements in a partition (1/8th of the pipe volume in this case, so around 125,000 elements) is much larger than the number of faces in a single cross section of the pipe (depends on the pipe diameter, and the mesh resolution, but let's say 5000 faces).

When you do partition any case for parallel processing, most partitioners will give you some statistics on these, so you can decide if you want to re-partition or just go ahead.

All times are GMT -4. The time now is 18:44.