Memory allocation error. In order to prevent this behavior please choose a bigger machine with less computing cores.
The solver failed to allocate the memory for the analysis.
What could be the possible reason?¶
This error occurred when a simulation with a large mesh is assigned to a machine with insufficient memory resources.
What can I do now?¶
- You can choose a bigger machine for the analysis:
- Machines with more cores will generally have more memory resources available. For example, for a mesh with more than a million nodes, assigning the analysis to 1,2 or 4 cores under Simulation Control will probably lead to a memory allocation error. Try to assign at least 8 cores.
- Increase the RAM-per-CPU ratio:
- If the linear equation solver used is MUMPS or PETSC. Certain linear solvers are parallelized in such a way that the limiting factor for the memory consumption is not the total available memory of the machine, but the available memory per computing core. In order to increase this, you can reduce the number of cores used for the computation under the detailed settings of the number of computing cores.
- Use the out-of-core memory functionality:
- If you are using the MUMPS equation solver, you can activate the out-of-core memory management in the detailed settings. This enables a memory management optimized for minimal RAM usage, but the computation speed will be reduced since some data is written to the hard disk.
- Change the equation solver:
- If you are using a direct solver like MultFront, MUMPS or LDLT and none of the above options worked, you can try switching to an iterative solver like PETSC or GCPC. Iterative solvers generally are using much less memory than direct solvers, but they might be unstable in certain cases.