Memory Use Keywords in the Jaguar Input File

Some of the memory use for Jaguar can be controlled through keywords. These keywords may be particularly useful if you are experiencing problems running jobs due to memory-related failures.

Memory-use keywords are listed in Table 1, along with their default values and a description of their uses. If you want to change some memory use but do not have a detailed knowledge of the code, do not change the variable mxpr.

Table 1. Keywords related to memory and disk use

Keyword

Default

Description

idynmem

256

Dynamic memory (in MB) to be allocated for LMP2 calculations. Suggested optimum value is machine memory − 256.

mxstrip

200

Information for matrix elements evaluated on basis functions stored in core in strips of mxstrip*N words, rather than N2 words at a time (where N is the number of basis functions).

nbuck

64

Grid blocks are split up into subblocks whose points are all on the same atom and in the same region of space, with at most nbuck points, where nbuck ≤ ngblok (ngblok is the maximum number of grid points per grid block, currently set to 128).

ndisk

5000

Atomic strips of J and K are kept in core rather than on disk if (# basis functions) x (# Hamiltonians) < ndisk. #Hamiltonians=1 for closed shell and 2 for open-shell.

mxpr

100

Pairs of dealiasing functions are organized so that each group’s pairs have the same angular momentum values (e.g., a group with pairs with an s and a p function). The number of pairs in each group evaluated at the same time by subroutine novoro is restricted so that it is ≤ mxpr.

nbcmax

1000000

Maximum memory (in words) used by overlap and kinetic energy integral package, excluding final matrices themselves.

zmpmem

1.0

For LMP2 single-point and gradient code, maximum total size allowed for arrays holding partially transformed integrals on grid is 60 MB x zmpmem.

Finally, the iq keywords allow you to choose when to compute the full least-squares fitting matrix Q from the smaller matrix and whether to store it on disk. Names and default values (in bold italics) for these keywords are indicated in Table 2. If a grid is used only once per calculation, as the fine, ultrafine and gradient grids generally are, setting its iqname value to 0 saves disk space and costs no CPU time. Setting the iqname values for other grids to 0 adds some CPU cost, but saves some disk space.

Note: If you set iqgrad, you must set iqufine to the same value.

Table 2. Keywords to determine when to compute the full least-squares fitting matrix Q

Keyword

 

Description

iqcoarse

0

For coarse grid, compute Q on the fly in the program scf

 

1

For coarse grid, compute Q in rwr and store on disk for later use

iqmedium

0

For medium grid, compute Q on the fly in the program scf

 

1

For medium grid, compute Q in rwr and store on disk for later use

iqfine

0

For fine grid, compute Q on the fly in the program scf

 

1

For fine grid, compute Q in rwr and store on disk for later use

iqufine

0

For ultrafine grid, compute Q on the fly in the program scf

 

1

For ultrafine grid, compute Q in rwr and store on disk for later use

iqgrad

0

For gradient grid, compute Q on the fly in the program scf

 

1

For gradient grid, compute Q in rwr and store on disk for later use

iqlmp2

0

For LMP2 grid, compute Q on the fly in the program scf

 

1

For LMP2 grid, compute Q in rwr and store on disk for later use

iqlmp2grad

0

For LMP2 gradient grid, compute Q on the fly in the program scf

 

1

For LMP2 gradient grid, compute Q in rwr and store on disk for later use