Automatic memory setting
by O. Boiteau, EDF R&D / SINETICS
Once the physical and numerical parameters chosen, the user must still deal with the difficult issue :
Which value of memory limit has to be set in my astk calculation ?
Most of the time in Code_Aster, this value is linked to a very specific step of the simulation : the solving of linear systems. These systems are ubiquitous in most methods of mechanical analysis: non-linear algorithms, eigenvalues calculation, integration of constitutive laws …
The memory used in a calculation is made of different parts : Code_Aster objects and data structures of external libraries (MUMPS, PETSc…). Optimizing the size of these objects used to request a setup ever richer and less and less readable : OUT_OF_CORE, LIBERE_MEMOIRE…
A new keyword is now replacing and simplifying these parameters :SOLVEUR/GESTION_MEMOIRE.
For now, it is limited to the most commonly used linear solver, MUMPS (SOLVEUR/METHODE=’MUMPS’). In taking the values ’IN_CORE’ or ’OUT_OF_CORE’ , we find the usual methods of memory management which, respectively, optimize the speed of computation or the RAM consumption. By cons, with these modes, no correction of the parameter will be made on the fly if something goes wrong.
In contrast, the new mode ’AUTO’ (default value) will make the best choice instead of the user, based on memory capacity available at that time and depending on the numerical difficulties of the calculation.
Finally, a fourth mode can help to estimate the peak memory of the calculation ( ’EVAL’ ). When this option is enabled, the calculation stops at the first system resolution and it prints in the message file the estimated values to help relaunch the complete calculation with the correct memory settings in Astk.
***************************************************************************
- Taille du système linéaire: 500000
- Mémoire RAM minimale consommée par Code_Aster : 200 Mo
- Estimation de la mémoire Mumps avec GESTION_MEMOIRE=’IN_CORE’ :3500 Mo
- Estimation de la mémoire Mumps avec GESTION_MEMOIRE=’OUT_OF_CORE’ : 500 Mo
- Estimation de l’espace disque pour Mumps avec GESTION_MEMOIRE=’OUT_OF_CORE’:2000 Mo
=⇒ Pour ce calcul, il faut donc une quantité de mémoire RAM au minimum de
- 3500 Mo si GESTION_MEMOIRE=’IN_CORE’,
- 500 Mo si GESTION_MEMOIRE=’OUT_OF_CORE’.
En cas de doute, utilisez GESTION_MEMOIRE=’AUTO’.
******************************************************************************
Of course, these estimated values of the memory are much cheaper to obtain than the complete calculation. They can allow, for example, to calibrate a calculation in interactive mode before launching the full calculation in batch mode. For more details, one may consult the user documentation [u4.50.01].
This work is a step towards simplifying the use of different settings of Code_Aster. The goal is to keep the possibility of a rich and complex setting, essential for advanced study and expertise, but also now, to provide more automatic or self-corrective options.
Available in the 11.2.3 version and future releases