Site Customization: The Default.Route File

Depending on the characteristics of a particular computer system, it is sometimes necessary for performance reasons to override some of the defaults built into the program. This can be done by creating a site customization file. On Unix systems, this file is named Default.Route, residing in $g09root/g09. Under Windows, the Gaussian defaults file is Default.Rou, and it is located in the Gaussian 09W scratch subdirectory (e.g., C:\G09W\scratch). The format of the file is the same on all computer systems.

The following subsections describe the types of information which can be supplied in the defaults file.

Route Defaults

These parameters are introduced by -#- and have the same form as normal route section commands. For example, this line will set the default SCF algorithm to the conventional (non-direct) algorithm:

-#- SCF=Conventional

There may be more than one -#- line in the file.

Commands listed in Default.Route change only the defaults; they are overridden by anything specified in the route section of an input file. Thus, if the Default.Route contains:

-#- MP2=NoDirect

and the route section contains the MP2 keyword, then the conventional MP2 algorithm will be used. However, if the route section contains the MP2=Direct keyword, then the direct algorithm will be used.

All sites will want to specify the amount of scratch disk space available via the MaxDisk keyword in the Default.Route file. For example, the following line sets MaxDisk to 800 MB:

-#- MaxDisk=800MB

The directive -R- is a synonym for -#-.

The amount of available disk space is given in 8-byte words (default). This value may also be followed by KB, MB, GB, TB, KW, MW, GW or TW (without intervening spaces) to specify units of kilo-, mega-, giga- or tera-bytes or words. The scratch disk space is set unlimited (-1) by default, i.e. it is assumed that enough disk space is available to perform a given calculation with no redundant work. Thus, specifying the amount of available memory and disk is by far the most important way of optimizing performance for your calculations. Doing so allows the program to decide between the various available algorithms, selecting the optimal one for your particular system configuration. Keep in mind that the more disk space available, the faster the evaluation, especially for MP2.

Default.Route Limitations

Not all route section keywords are honored in the Default.Route file. In general, the rule is that only options which do not affect the outcome of a calculation (i.e., do not change the values of any predicted quantities) are allowed in the file. Thus, SCF=Conven, which changes only the integral storage algorithm, will be honored, while Int(Grid=3), which affects the results of many kinds of calculations, will be ignored.

Memory Defaults

Gaussian jobs which unwisely use excessive memory can cause severe difficulties on the system. The memory directive -M- enforces a default dynamic memory limit. For example, the following line sets default memory use to 400 MB:

-M- 50000000

The amount of available memory is given in 8-byte words (default). This value may also be followed by KB, MB, GB, TB, KW, MW, GW or TW (without intervening spaces) to specify units of kilo-, mega-, giga- or tera-bytes or words. The default memory size is 256 MB. Note that this limit can be overridden with the %Mem Link 0 command.

The memory directive -U- sets default memory to use in utilities such as formchk and freqchk. The -F- directive is the default file type argument to formchk.

Parallel Execution on Shared Memory Multiprocessors

If your computer system has multiple processors/cores, and parallel processing is supported in your version of Gaussian, you may specify the default number of processors to use in the Default.Route file. For example, the following command sets the default number of processors to 4:

-P- 4

Normally, the program defaults to execution on only a single processor. The %NProcShared Link 0 command can be used to override the default for a specific job. Clearly, the number of processors requested should not exceed the number of processors available, or a substantial decrease in performance will result.

You can also specify the specific CPUs on which to run with the -C- directive. For example, the following directive specifies that the program should run on the first 5 cores of a hexacore system (reserving one core for other use):

-C- 0,1,2,3,4

Network/Cluster Parallel Execution

You can specify the list of Linda workers in Default.Route via the -W- directive:

-W- dalton,lavoisier:2,priestley,agassiz:3,curie=20

This example will use the specified five nodes for parallel execution, placing 2 worker processes on lavoisier, 3 workers on agassiz, and one worker on each of the other systems. If the master node—the node where the job is started—is not one of these systems, a worker will also run on that system (making a total of six nodes).

This directive corresponds to—and can be overridden by—the Link 0 command %LindaWorkers.

With respect to use of Default.Route with Linda, if you have different batch queues on a cluster which correspond to different sets of nodes and each batch job executes in its own temporary default directory, the best approach is to create a script that copies a standardized Default.Route appropriate to the particular queue to the current default directory.

When -W- is combined with -P- n, then an n-way SMP parallel worker process is started on each node in the node list (or more than one such process when more workers are specified for that node in -W-).

The -L- directive sets default options for Linda, which are then passed to the GAUSS_LFLAGS environment variable.

Site Name

The site name may be set with -S-, whose value specifies the site name to be used in archive entries generated by Gaussian. The default site name is GINC. For example, the following line sets the site name to EXPCONS:

-S- EXPCONS

Host Name

The host name may be set with -H-; the value specifies the host name to be used in archive entries generated by Gaussian. The default is the current hostname.

Typical Default Settings

Here are reasonable default settings for various machine configurations:

User Defaults Files

Gaussian users may set their own defaults by creating their own Default.Route file. Gaussian checks the current working directory for a file of this name when a job is initiated. Settings in the local file take precedence over those in the site-wide file, and options specified in the route section of the job take precedence over both of them.

Environment Variables

All of these directives can also be set via environment variables or UNIX command line arguments. The environment variable GAUSS_XDEF provides a line equivalent to -X- in the Default.Route file. Similarly, the command line argument below specifies the same setting:

$ g09 -x="value"

Similarly, all of the following have the equivalent effect:

Default.Route file: -M- 4GB
bash shell: export GAUSS_MDEF=4GB
tcsh shell: setenv GAUSS_MDEF 4GB
command line: g09 -m="4GB"

Order of Priority

The order of priority is: command line argument, environment variable, Default.Route setting, internal program default.

 


Last update: 28 July 2015