Parallelization

EdelweissFE makes use of OpenMP to parallelize the computation of finite elements and for certain solvers, such as SuperLU, UMFPACK, or PARDISO.

If a parallel solver (e.g, NISTParallel, NISTPArcLength) is selected in the .inp file, EdelweissFE automatically determines the maximum number of threads, depending on the host architecture. However, it is RECOMMENDED to enforce a fixed number of threads by running

OMP_NUM_THREADS=XX python edelweiss.py INPUT.inp

This ensures that the same number of threads XX is employed both in EdelweissFE as well as in the underlying Intel MKL (e.g., if the PARDISO linear solver is used).