hyper-threading and yade

Asked by Bettina Suhr on 2019-06-26

Dear all,

we just bought a new computer for DEM simulations. After a first performance test with yade, I saw that the IT turned on hyper-threading. Is there a general advice to use or not to use hyper-threading with yade? Or do we have to test ourselves to see what is better for us?

Thank you for your help,

Question information

English Edit question
Yade Edit question
No assignee Edit question
Solved by:
Bettina Suhr
Last query:
Last reply:
Robert Caulk (rcaulk) said : #1

Hyperthreading *generally* does not improve or hinder performance on single Linux workstations [1]. Some authors tested the effect of hyperthreading on an OpenMP (shared memory) molecular dynamics code (similar to Yade) and found that hyperthreading slightly improved performance [2]. However, the same authors found that applications using a distributed memory model (MPI) exhibted significantly degraded performance when hyperthreading was active. So if you are running Yade normally with OpenMP then I would say you won't see much of a difference with hyperthreading on or off.


Jérôme Duriez (jduriez) said : #2

In terms of historical feedback, we had a presentation by A. Eulitz about that during the 1st YADE workshop (2014 !).

See p. 462 onwards of https://yade-dem.org/publi/1stWorkshop/booklet.pdf if you're curious about details.
I can not recollect myself what the exact conclusion was, though...

Robert Caulk (rcaulk) said : #3

It's worth pointing out that those results are all based on two discrete CPUs on a single motherboard working on the same problem. I am not sure if that is closer to distributed or shared memory TBH.

If you have N physical cores and 2xN threads, then most likely the performance will decrease or stagnate if you try to use yade with more than N threads. In other words, having hyperthreading activated in the bios is not a problem as long as you don't use it.
Better run your own tests though, better than trusting me...

Bettina Suhr (bettina-suhr) said : #5

Dear Robert, Jerome and Bruno,

Thank you very much for your answers. With this information at hand, we will think about a strategy to test, if hyperthreading should be active or not.

Thanks, and regards,