Esistono due modi diversi per utilizzare diversi core:
- Parallelizzazione interna
Parti del processo del programma vengono eseguite contemporaneamente in diversi thread. Si consiglia di utilizzare solo core fisici, nessun core logico (virtuale). L'esperienza con i calcoli scientifici e tecnici ha dimostrato che la parallelizzazione ha un vantaggio di un massimo di circa tre volte e mezzo l'accelerazione, indipendentemente dal numero di nuclei. Alcuni processi, come il risolutore di equazioni iterativo, non sono adatti per una tale parallelizzazione.
- Parallelizzazione esterna
I singoli calcoli vengono eseguiti in thread individuali. Ad esempio, è possibile eseguire quattro risolutori in quattro thread per calcolare quattro diverse combinazioni di carico.
RSTAB 9:
Viene utilizzata la parallelizzazione esterna.
RFEM 6:
La parallelizzazione interna viene utilizzata in alcune parti del programma: montaggio della matrice di rigidezza locale, solutore diretto ...
La parte di programma chiamata "FemBase" è parallelizzata in modo massiccio: Calcola le combinazioni di risultati e restituisce tutti i risultati ai grafici, alle tabelle e alle rispettive sezioni. Può leggere il risultato di tre casi di carico in tre thread e calcolare la combinazione di risultati nel quarto thread, ad esempio.
La parallelizzazione esterna viene eseguita dal Solver Manager, che è stato sviluppato appositamente per RFEM 6.
Anche i calcoli per la verifica in acciaio, la verifica in legno, la verifica in alluminio e la verifica del calcestruzzo devono essere eseguiti in parallelo.
Tutti i casi di carico che sono calcolati linearmente (linearità fisica) hanno la stessa matrice di rigidezza.
I casi di carico calcolati in modo non lineare e le combinazioni di carico di solito hanno matrici di rigidezza diverse, che vengono compilate separatamente. (Ma anche in questi casi, proviamo a raggruppare i casi con la stessa matrice di rigidezza, che è composta solo una volta per un particolare gruppo.)