Existem duas formas diferentes de utilizar vários núcleos:
- Paralelização interna
As partes do processo de um programa são executadas simultaneamente em vários threads. Recomenda-se a utilização apenas de núcleos físicos, sem núcleos lógicos (virtuais). A experiência com cálculos científicos e técnicos mostrou que a vantagem da paralelização é uma aceleração máxima de cerca de três vezes e meia – independentemente do número de núcleos. Alguns processos, como o solucionador de equações iterativo, não são adequados para tal paralelização.
- Paralelização externa
Os cálculos individuais são realizados em threads individuais. Por exemplo, pode executar quatro solucionadores em quatro threads para calcular quatro combinações de cargas diferentes.
RSTAB 9:
É utilizada a paralelização externa.
RFEM 6:
A paralelização interna é utilizada em algumas partes do programa – montagem local da matriz de rigidez, solucionador direto...
A parte do programa denominada "FemBase" está maciçamente paralelizada: calcula as combinações de resultados e fornece todos os resultados para os gráficos, tabelas e respetivas secções. Consegue ler o resultado de três casos de carga em três threads e calcular a combinação de resultados no quarto thread, por exemplo.
A paralelização externa é realizada pelo Solver Manager, o qual foi desenvolvido especialmente para o RFEM 6.
Os cálculos para o dimensionamento de aço, dimensionamento de madeira, dimensionamento de alumínio e dimensionamento de betão também devem ser realizados em paralelo.
Todos os casos de carga calculados linearmente (linearidade física) têm a mesma matriz de rigidez.
Os casos de carga e as combinações de cargas calculados de forma não linear geralmente têm diferentes matrizes de rigidez que são compiladas separadamente. (Contudo, mesmo nestes casos, tentamos agrupar os casos com a mesma matriz de rigidez que é composta apenas uma vez para um determinado grupo.)