91x
005427
2024-03-27

Performance Problems on Modern Intel Processors

RFEM calculates more slowly on my new computer than on the old one. What might be the cause, and how can I change it?


Answer:

Your new computer with an Intel processor is probably the 12th generation or newer.

As of the 12th generation (Alder Lake) of Core i processors, Intel has carried out a fundamental change to the CPU architecture.

Up to this generation, a processor contained several identical CPU cores. As of the 12th generation, it is different.

There are two different types of cores. The performance cores (P-cores) are trimmed for high computing power. For this, they use a lot of electricity. High power consumption means that the batteries in a laptop drain more quickly, and the processor generates more heat that has to be dissipated by the cooling system.

In addition to P-cores, there are efficiency cores (E-cores). They take over the many small tasks in the background, where speed does not play a major role. The E-cores are much slower, but also require much less electricity and, accordingly, produce less heat.

Processors with different types of cores is not a new invention by Intel. This has been a standard for cell phones and other mobile devices for a long time. Here, the low energy consumption requirement and the covering of short-term peak loads is even more stringent than in the case of notebooks or desktop PCs. Apple also uses this technology in devices with M processors.

The task of the operating system is now to assign the running processes to the cores. This task is performed by the Scheduler. It is not a trivial task to recognize whether a process has to be assigned to the P-cores, or whether the E-cores are enough. The scheduler does this, among other things, using the user rights and the following:

If we look at the architecture of RFEM now, it becomes clear that there can be problems.

The program architecture of RFEM is divided into two parts. On one hand, there is the program with the graphical user interface. This receives user input and displays the results graphically. On the other hand, there is the solver. It reads the input data, performs the calculation, and transfers the results back to RFEM.

In RFEM, one (RFEM 5) or several (RFEM 6) solver processes start the calculation, which then performs the calculation in parallel on several cores. These are computationally intensive tasks, of course.

Due to the fact that the processes are started by the main program as invisible sub-processes, it may happen that these processes are executed on the slow E-cores.

As a result, RFEM running on a processor of the 12th generation and higher suddenly calculates much slower than on an older processor of the 11th generation.

A quick fix is to run RFEM with admin rights. However, this is not always possible for security reasons.

Another solution is to influence the rule that subprocesses are executed on E-cores. Proceed as follows:

  1. Open the registry.
  2. Search for "Heterogeneous policy in effect".
  3. Edit the "Atributes" key and set it to "0".

Author

Mr. Faulstich is responsible for the quality assurance of the RFEM program and provides customer support.