Data Type

Integer

Default Value

0, except when NUMA placement is requested.
4, on SGI when NUMAFL=1

Description

This parameter provides the following options for initializing the FMS memory. The options are bit flags. You may choose any combination. The following options are available:

  • 0, Allocate only
    Memory is allocated but not touched, placed, or set to any value.
  • +1, Set to 0
    Memory values are initialized to 0.
  • +2, Touched
    Each page of memory is touched but the contents are not altered. On NUMA systems, each page is touched by the processors on the local node.
  • +4, Placed
    Memory is placed on the nodes using NUMA directives (SGI NUMA only).
  • +8, Locked
    Memory is locked and cannot be swapped. If you fail using this option you may need to increase your resource limits. To check the current value of limits use one of the commands:
    ulimit -a    (bash)
    limit        (csh)
    
    The value you are interested in is "max locked memory" (bash) or "memorylocked" (csh). If the limits are too low, you can set them to unlimited by editing the file /etc/security/limits.conf as SU by adding the following 2 lines:
    *   soft memlock unlimited
    *   hard memlock unlimited
    

Because the memory in the FMS memory pool is treated as scratch memory, it should not be necessary to initialize its value to zero. However, if you encounter problems with your use of memory from the FMS pool, you can try setting MDINIT to 1.

When MDINIT is not zero, the memory is touched during FMSINI. From the system point of view, this involves setting the page table entries for each page in the memory pool. This may take some time, especially on large memory systems. The time required for this task also depends on the state of the machine. On a freshly booted system, where the page table entries are mostly zero, the process proceeds more rapidly than on a system that has been running, where the old page contents must first be flushed to disk.

If you are doing benchmarking and want to obtain consistent measurements, you should set MDINIT to 1 or 2. This will force the page table into a known state before computation begins. This avoids delays in setting page table entries during computation, which may vary from run to run.

Because this parameter affects actions during FMSINI, it must be set in the License File.