CacheSize

DESCRIPTION

This keyword specifies the default amount of cache to use with various cache-blocking algorithms. Typically, this keyword is used in Default.Route files. You can use the testrt utility to determine the default value for the specific hardware on the current system. When Gaussian 09 binaries are built, this value is set correctly for the current version of the various CPU types, but it may need to be modified for chips released later which might use a different cache-size or inter-core cache sharing scheme. If you build Gaussian 09 from source code, this value corresponds to the hardware on the system where the compile takes place.

EXAMPLES

The following testrt command output lists the value for the current system, an AMD-64 CPU:

$ testrt hf
 Revision:  AM64L-GDVRevH.X1 14-Feb-2009 NErtGn=1000 NextEG=818 MaxAtm=250000 CachSize=131072
Remainder of testrt output …

The value of 131,072 corresponds to 128K working precision words, or 1 MB, a reasonable value for this machine which has one processor and 2 MB cache.

On a quad-core EM64T machine with current generation processors as of this writing, which has a 4MB cache shared between pairs of cores, the program is built by default with CacheSize=262144 (2 MB), a reasonable value if you’re running only a single one-processor job at a time. For running on all the nodes, one would want CacheSize=131072, corresponding to using one fourth of 4 MB shared cache for Gaussian data blocking on each of the pair of cores.

On a quad-core Opteron system, each core has its own cache, and the CacheSize value should be half of that cache size (which varies with processor type).

On IA64 systems, the default is determined at run-time and is almost always correct.

Note that on Linux systems, you can find out the cache size from /proc/cpuinfo.


Last updated on: 9 Jun 2009