CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   Why cores number in CFD simulation is preferred to be integer multiple of 4 for CFX? (https://www.cfd-online.com/Forums/cfx/149951-why-cores-number-cfd-simulation-preferred-integer-multiple-4-cfx.html)

Pierre1 March 11, 2015 20:31

Why cores number in CFD simulation is preferred to be integer multiple of 4 for CFX?
 
I noticed that people usually put 4, 8, 16or 32 cores to run a CFX simulation. The cores number is always an integermultiple of 4. This seems to be a convention. I seldom see people use 11 or 9cores to run a CFX simulation.

I’m wondering does this convention make anysense? Why?

ghorrocks March 12, 2015 03:50

You are right, it does not make much sense. A 5 computer cluster will simply run about 25% faster than a 4 computer cluster. So feel free to use odd numbers if you wish.

I think it is simply because benchmarks are often done using factors of 2, so you expect an approximate halving of computational time. There is not much point benchmarking parallel efficiency on a 31 way cluster compared to a 32 way cluster - you will get far more meaningful results comparing a 64 way cluster to a 32 way one.

singer1812 March 12, 2015 15:46

Most cpus now days are quad cores. Probably the reason behind 4's. They just grab the whole chip when the run.

Our HPC is in clusters of 16, and it so happens that we have found that when we run with other software on the same node, it bogs everything down. Too lazy to trouble shoot, we usually just grab multiples of whole nodes when doing things.

Also, if you factor in hpc packs that ansys licenses, you will get another reason certain numbers of CPUs might be used.

QCFD March 23, 2015 17:03

Core count
 
In my experience, it is a hardware dependent choice. if a cluster is comprised of 12 core chips, it is useful to grab a multiple of 12 so you do not use a partial chip. If you have a partial chip and someone else tries to use the other cores you can have issues. In some cases, the other cores of the partially used chip are not made available to other users so the just sit idle.

ghorrocks March 23, 2015 19:20

For that to be the case it assumes that having multiple cores on a CPU working on the same job is better than having the multiple cores working on different jobs. Providing the jobs are equivalent (similar memory, similar parallelisation) in my experience it makes no difference what form the job takes it will load the system down about the same amount.

If you have a few cores idle then the active cores will run better as other bottlenecks (eg the memory and hard drive) are lighter loaded so the active cores work better. On top of that, many current Intel CPUs run at higher clock speeds when only one core is active which exaggerates this effect.

It is important to balance up the processes in a parallel run. If you have 4 identical 4 core CPU machines, and you send 4 processes to 3 machines but only 2 processes to 1 machine then it will not work too well as the loads are not balanced. It will run much better with either all machines having 4 processes, or even 3 processes.


All times are GMT -4. The time now is 22:59.