Question
What is hyper-threading and does it speed up my simulations?
Answer
Hyper-threading is the technology that is used in a CPU processor of a computer device where a single processor works as two virtual processes in order to execute a computing task. Hyper-threading is per default enabled in the computer, so if you have four physical cores, then Windows will instead show that you have eight threads/CPU processors.
In general, hyper-threading does not speed up CPU intensive tasks such as numerical modelling in MIKE simulations.
Instead, hyper-threading is well designed for less intensive CPU tasks such as document handling and spreadsheet analysis. However, it is the number of physical cores that is the determining factor for the performance of hardware regarding a MIKE/MIKE+ model execution.
Usually MIKE/MIKE+ software issues a warning regarding the use of hyper-threading, e.g. in MIKE+ ..ErrorLog.html file:
“- Hyper Threading is enabled, or system is highly utilized. Setting number of threads to half of maximum (4 of 8)”
The meaning of this warning is that the MIKE 1D engine detects that hyperthreading is active, so it divides the number of threads by two, in order to use only one thread per physical core. If hyperthreading is enabled on the computer, then the user doesn’t need to change anything. In this case the MIKE 1D engine sets the number of threads to the same number as the number of physical cores (four in this example), which is actually working better.
If needed, disabling hyperthreading (for the 1D Rivers/CS or the 2D Overland models in MIKE+ GUI or for the MIKE 21/3 Flow Model FM) can be done manually (or by changing the Windows/Bios settings, although this may affect other applications as well).
Usually, the user doesn’t have to change the hyper-threading settings, but if this is wanted it can be done in the Parallelisation configuration dialog, as shown below in Figure 1 for MIKE+ GUI ('Simulation' menu > Parallelisation configuration > Use custom number of threads) and in Figure 2 for MIKE 21/3 Flow Model FM GUI.
A second workaround for the MIKE+ 1D engine is to use the command line to set the threading parameter:
Suppose the MIKE+ .mupp file has the following address (adapt to your own path): c:\Path\to\the\mikeplus\file\riverModel.mupp
Open command line and type the following three lines (modify version number accordingly):
> cd c:\Path\to\the\mikeplus\file\
> set ap="C:\Program Files (x86)\DHI\MIKE+\2025\bin\x64\DHI.Mike1D.Application.exe"
> %ap% 1DModel.mupp -par:HyperThreadingTest=False (and/or -par:HyperThreaded=False)
You may also find useful information in the MIKE 1D Reference Manual (4.4.1 Multiple threads can influence results, p. 54).
NOTE: Lately new processors have begun to be built with a combination of different types of cores: Performance cores and Efficiency cores. In this case it is extra important to disable hyper-threading, as it otherwise will have a severe negative effect on the computational performance of the simulation.


