15.2. Executable Selection

A single executable provides partitioning, interpolation, serial solution and parallel solution capabilities.

The default executables (for various platforms) store floating point numbers as 32-bit words (single precision) and integer numbers as 32-bit words.

In addition to the default executables, there are double-precision versions of these executables, large problem versions of these executables, and versions of these executables that have both double-precision and large problem capabilities.

The executables used for partitioning, interpolation and solution are independently selectable and depend on the applicable "precision" setting and "large problem" setting, which can be specified:

Double-Precision Executables

Double-precision executables store basic floating point numbers as 64-bit words. These executables are available to permit more accurate numerical mathematical operations. Double precision accuracy might be needed if the computational domain involves a huge variation in grid dimension, aspect ratio, pressure range, and so on.

When double precision is used, the computer memory used for a given problem and grid size is effectively double that of the default (single precision) executable. Stated another way: the maximum problem size to run on a given computer for the double precision executable is half that of the default single precision executable.

Large Problem Executables

Large problem executables store integer numbers as 64-bit words. These executables allow larger mesh sizes than the default executables.

A large problem executable requires twice the integer memory of a default executable, for a given problem and grid size. There is no advantage to using a large problem executable unless the problem size requires it.

Use in Partitioning and Interpolation

The default executable is currently limited to allocate 2^31-1 words of 4-byte integer stack space; this limits the maximum problem size for partitioning to approximately 80 million elements (structured) and 200 million elements (unstructured). Similar limits exist for interpolation.

Larger problems are likely to require the use of a large problem executable. In theory, a maximum problem size of two billion elements can be partitioned with this executable. However, practical considerations, such as available computer resources, will still limit the maximum size.

Use in Solution

The default solver is currently limited to a problem size of approximately 700 million nodes. Larger problems require the use of a large problem executable. In theory, a maximum problem size of two billion nodes can be accommodated.

As with partitioning and interpolation, the maximum size of a given parallel partition and the maximum problem size of serial solutions are limited in the default executables by an allocation limit of 2^31–1 words for any memory stack. This limitation does not apply to large problem executables.