Memory usage

The amount of memory used by the program during a calculation is determined by three quantities:

  • The size of the program itself (executable statements, fixed arrays in subroutines...).
    This quantity depends on the program release number and is currently somewhere between 10 and 16 Mb.
  • Buffer space used by adf for more efficient I/O handling. This quantity is set at installation.
    See the Installation Manual.
  • Dynamically allocated arrays. The program allocates memory dynamically during the run conform
    the requirements of the actual calculation. A preset maximum applies (defined by the Installation,
    see the Installation Manual) to the total amount of such dynamical memory.
    The program will stop when an attempt is made to exceed this maximum.
    The actual dynamical allocation of memory happens in memory blocks, separately for the different data types
    (real, integer, logical, character). The size of these blocks is set at installation.

Via input the parameters used in the dynamical allocation mechanism can be adjusted to override the installation-set defaults. This applies to the total maximum of dynamical memory (the most significant application), but also to the sizes of the memory blocks by which the actually used memory is built up. The latter aspect is rather technical and should not play a role for the normal user.

All input keys pertaining to dynamical allocation are simple keys and specify the corresponding quantities in Mbytes. The total amount of memory (for scratch space):

MAXMEMORYUSAGE n

The technical parameters, determining the chunks of memory allocated at a time:

REALMEMBLOCK n
INTEGERMEMBLOCK n
LOGICALMEMBLOCK n
STRINGMEMBLOCK n

The defaults are defined by the installation. The maxmemoryusage value will have been chosen specifically by the user/installer to accomodate his machine(s). The other (*memblock) parameters are in principle merely technical and will usually not have been adjusted by the installer. Standard values are:

reals: 1

integers: 1/2

logicals: 1/32

strings: 3/2

As already suggested by the default values: the input values (n) for the memory-usage keys need not be integers: reals or integer fractions are allowed.

 

Copyright      Terms of Use      Privacy Policy
Search:
Home
About
News
Sitemap
Contact
Why ADF?
Brochure
Demos
Trial Version
How to buy
Downloads
FAQ
Newsletters
Documentation
Community