1438x
002833
2019-04-08

Question

RSTAB does not yet use several cores to the same extent as does RFEM. Is an optimization on multicore processors also planned for RSTAB, as this has a significant influence on the processor selection?


Answer:

RSTAB already uses the advantages of parallelization. Basically, the parallelization of RSTAB 8 and RFEM 5 can be summarized as follows:

Parallelization of Program Parts in RSTAB 8 and RFEM 5 (except calculation)

The advantages of parallelization are primarily used in the printout report. In particular, several cores are used for scrolling through the printout report (that is, loading the content list).

We plan to use parallelization more frequently in future versions. For example, the printout report should be created almost exclusively in parallel.

There are two different ways to use several cores:

Internal Parallelization

Parts of the program process are performed simultaneously in several threads. We recommend using only physical cores, no logical (virtual) cores. Experience with scientific and technical calculations has shown that parallelization has an advantage of a maximum of about three and a half times the acceleration – regardless of the number of cores. Some processes, such as the iterative equation solver, are not suitable for such parallelization.

External Parallelization

The individual calculations are performed in individual threads. For example, you can run four solvers in four threads to calculate four different load combinations.

RSTAB 8

These two types of parallelization are currently not used in RSTAB. However, we also plan to use external parallelization with RSTAB in the future.

RFEM 5

In RFEM 5, internal parallelization is already used in some program parts. These are, for example, the composition of the local stiffness matrix and the direct equation solver.

The program part called "FemBase" is massively parallelized: It calculates the result combinations and returns all results to the graphics, tables, and respective sections. It can read out the result of three load cases in three threads and calculate the result combination in the fourth thread, for example.

However, external parallelization has not yet been used. However, we are already working on this as well.