1. Important parameters#

1.1. ASTK Settings#

"Total Memory (MB)" box: MTOT

"Dont Aster (MB)" case: MJEV

MJEV

MJEV is the memory that will be provided to JEVEUX for the allocation of « dynamic » objects (a dynamic object is an object whose size is greater than the limit set in DEBUT/MEMOIRE/DYNAMIQUE =xxx).

MTOT

MTOT is the total memory that will be allocated to the process. Interactively, this setting has no effect. On the other hand, on the aster server, the resource manager (RMS) checks that the process does not exceed this limit.

MTOT must be > MJEV

Note about RMS

The memory used by a process is « multiple »: user data, input/output buffers, executable and dynamic libraries,…

Experience has shown that to launch Code_Aster on the aster server (version NEW9 from the beginning of 2008), the « management » of the job: loading the executable, setting up the execution environment,… consumes several hundreds of MB of memory before even starting to process user data.

That’s why, the handler batch (LSF) asks to RMS to authorize the process to consume:

MEM_RMS = MTOT + 300MB

Meaning of MTOT

So MTOT is the amount of memory allocated to the process for the user’s needs:

  • A « 2 times bigger » calculation will in principle require a double MTOT.

  • A very small calculation must be able to pass with MTOT ~ 0

What is the purpose MTOT ?

We saw that the memory JEVEUX MJEV was taken from MTOT. The rest (MTOT - MJEV) is available for:

  • The command set python variable space

  • Dynamic allocations made in the code: use of Mumps, PETSc,…

1.2. Command line parameters#

On the Aster command line, you can find 2 parameters concerning memory management:

  • -mem_neves Mjevs (Mw)

  • -mxmemdy mjevd (Mw)

These 2 parameters are expressed in Mega- » word » (Mw). The « word » being the memory space required to store a INTEGER Fortran (8 bytes on 64-bit machines like the aster server, 4 bytes on 32-bit machines).

-Me I want MJevs

mjevs is mandatory. It is used to size « dynamic » memory JEVEUX. The value transmitted by ASTK is the one deduced from MJEV (by just changing the unit).

-mxmemdy mjevd

mjevd is optional. It is used to limit « dynamic » memory JEVEUX. Dynamic allocation JEVEUX will stop in error <S>as soon as the cumulative length of dynamic objects in memory exceeds this limit. For now, this value can only be passed to Code_Aster by adding the -mxmemdy parameter on the command line. You can do this with ASTK in the « ETUDE » panel at the bottom of the window in the « Arguments » input box.

For example, for the dynamic memory of JEVEUX to be limited to 100 MB, on an « I8 » machine like the Bull, you must write:

-mxmemdy 12.5