CFD 2019 Hyperthreading ON or OFF

CFD 2019 Hyperthreading ON or OFF

Anonymous
Not applicable
6,894 Views
17 Replies
Message 1 of 18

CFD 2019 Hyperthreading ON or OFF

Anonymous
Not applicable

Hey there,

this is a rather wide topic. 
Im running CFD2019 on an i7-5960X (8C/16T)

Autodesk is recommending turning HT on. But in the forums it is said, that CFD is only utilizing physical cores.
This is confirmed by the CPU-usage of less then 50% I see when running with HT on.

So I turned off HT expecting CFD to run a little faster.

The CPU usage now is about 100%. But the time to complete the exact same simulation goes up by about 17-18% 

(Hydrogen flow, 0,6 mesh size, around 440k elements). *.cfz file is attached.

Does anyone know why?

Thanks in advance,

 

Thomas

0 Likes
Accepted solutions (2)
6,895 Views
17 Replies
Replies (17)
Message 2 of 18

David.Short.
Alumni
Alumni

Hi @Anonymous,

 

This is a very interesting observation. Thanks for bringing it up!

 

May i ask where you found the recommendation to keep hyper-threading on?

 

In the past turning hyper-threading off seemed to benefit the solver however nowadays hyper-threading doesn't hinder the solve and in some cases speeds things up. Possible some background processes now utilize hyper-threading. I will talk to the development team to try and get a more satisfying answer for you.

 

All the best,

David


David Short
Technical Support Specialist, Simulation
0 Likes
Message 3 of 18

Anonymous
Not applicable

Hello David,

 

I have found it on the page for system requirements.

here is a screenshot of the german page.

 

2018-08-20 10_02_35-CFD im Abonnement _ CFD 2019 kaufen _ Autodesk.png

it reads: "Anmerkung: Hyper-Threading sollte aktiviert sein, um die Leistung des CFD-Solvers zu optimieren."
translation (google) is: "Note: Hyper-Threading should be enabled to optimize the performance of the CFD solver."

 

kind regards,

 

Thomas

0 Likes
Message 4 of 18

David.Short.
Alumni
Alumni

Thanks Thomas, I will investigate further and get back to you.

 

David


David Short
Technical Support Specialist, Simulation
0 Likes
Message 5 of 18

David.Short.
Alumni
Alumni
Accepted solution

Hi Thomas,

 

I have been in touch with one of our developers who says that in his experience having hyper-threading= on has no benefit.

 

Your 440K model is not large enough to make a good test case and sadly we don't have a good explanation as to why there is a slow down with hyper-threading= off. Try running it with 10M elements and he would imagine hyper-threading = off woud have some benefit.

 

Let me know how you get on,

David


David Short
Technical Support Specialist, Simulation
Message 6 of 18

David.Short.
Alumni
Alumni
Accepted solution

Hi Thomas, 

 

Here is the response i am getting from the smart people behind the scenes: 

 

"For performance hyperthreading = off is typically the way to go.
However given that most of our users, CFD is part of their day job leaving HT= on does allow them to more effectively do other tasks while the solver is running . That way we dont pull 100% of the resources to solve and leave the machine unusable till its done.
Likewise, this is part of the reason that the solver launches with low priority from a task manager perspective, to allow Windows to priorities OS functions to maintain stability/etc"

 

All the best,

David


David Short
Technical Support Specialist, Simulation
Message 7 of 18

Anonymous
Not applicable

Hi David,

 

thank you so much for your invastigation on this topic. 

the server im running on is a "simulation only" computer, so a hit on the performance in windows wouldnt be the issue.

priorizing the CFDsolver in the task manager might be a good idea 🙂 i will try this and will get back to you with the results.

 

All the best,

 

Thomas

 

ps. is it possible to see time stamps in the logging window, not just the cfd.log file?

Message 8 of 18

David.Short.
Alumni
Alumni

Please also make sure to test with a larger model.

 

Sorry no idea about time stamps (definitely not my field).

 

If you think that I have answered your question / solved your problem please can you mark the relevant post as an accepted solution, alternatively you can allow me to mark it as such. This will help others to benefit from the discussion and easily find the solution if they have a similar issue.


David Short
Technical Support Specialist, Simulation
0 Likes
Message 9 of 18

Anonymous
Not applicable

Hi David,

 

I have just started a similar model with 10M elements, with HT=on.
I suppose i will start the simulation with HT=OFF tomorrow.

 

all the best

 

Thomas

Message 10 of 18

Anonymous
Not applicable

Results came in today.

10,674,839 Fluid elements 

Time to run simulation:

HT=ON: 31:13:21

HT=OFF: 33:23:42

 

I dont know wether this is within the range of the processing speed, as i have seen differences of about 7% with the same settings applied.

 

Message 11 of 18

David.Short.
Alumni
Alumni

Thanks a lot for looking into this Thomas.

 

So it seems that HT=ON is the way to go. Sadly I have no idea why!

 

31 hours for a 10M sim is very long. How many iterations and what are your computer specs?

 

All the best,

David


David Short
Technical Support Specialist, Simulation
0 Likes
Message 12 of 18

Anonymous
Not applicable

Hi @Anonymous

 

May I ask how many iterations did you run? Also, what kind of run was it? (flow, flow+thermal,etc...)

 

0 Likes
Message 13 of 18

Anonymous
Not applicable

Simulation of a fluid (hydrogen), just the flow (see the attachment in initial post).
the specs of my PC are:
i7 5960X - 64GB Ram (non ECC)
The runs were 1000 iterations each.

0 Likes
Message 14 of 18

Anonymous
Not applicable

I am not too much surprised that your flow only analysis can require 30hrs to complete 1000 iterations at 10m elements or so. 

 

What I have recorded on my side is: 

-runtimes can be considered as linear with iteration number

-keeping software closed do enhance performance

-the very same design model run multiple times can show different runtimes

-the average for flow only 1000iterations @10m would be around 20hrs (or 25hrs for some)

-there is some high peaks happening sometimes (33hrs) or lower peaks less often (15hrs)
tests were done with 4c at a mean base clock of~3.9Ghz

Message 15 of 18

Anonymous
Not applicable

im not surprised either. I did expect such a long runtime.

 

I did so many iteration to even out peaks or dips in performance.

the goal was to see the difference between HT=ON and HT=OFF.

Message 16 of 18

David.Short.
Alumni
Alumni

Thanks to both of you for looking into this!!

 

I guess at the end of this all we can say is leave HT=ON as turning it off has no benefit in the models that you are running.

 

Did you see any benefit from raising the priority of the CFD solver within task manager?

 

All the best,

David


David Short
Technical Support Specialist, Simulation
Message 17 of 18

Anonymous
Not applicable

I did not investigate inprioritizing the task any further.

Right now the system is busy with another simulation.

0 Likes
Message 18 of 18

Heiko.Kipp
Explorer
Explorer

The reason why there is the suggestion to switch hyperthreading off is based on the Microsoft MPI. It does not really support virtual cores without changing the comannd syntax... And this is the problem.

When hyperthreading is on, then you will see in the task manager that all cpu-jobs are placed on one cpu bank (go there to details, right click and check cpu affinity). If you set the cpu affinity manually, then you will see that the hyperthreadening could work if the Microsoft MPI syntax would balance it automatically...

 

This, I critized all time before... 

the command syntax should look like: 

mpiexec -cores XYZ -affinity-layout spread

 

kippo

0 Likes