The Database File

The database files contain the compile and link flags as well as the corresponding options and exceptions in terms of CREX/crex variable assignments. These files are located in the directory $CREX_ROOT/deMon/x.y.z/database (see Figure 1). Beware that a lot of compile options in the database files are for Intel $^{\mbox{\textregistered }}$ CPUs. For AMD $^{\mbox{\textregistered }}$ CPUs these options must be changed. The name of a database file follows the structure system.type.comp. Here system stands for the CREX system code which describes the operating system you are using. The CREX system code can be displayed by the use of the command CREX -i (see section 2.4). The type suffix describes the kind of executable you can create with the corresponding database file. Possible types are opt for an executable that was created with compiler optimization flags, std with no optimization during the compilation process, dbg for an executable that contains debugging information, mpi for an executable which was compiled for parallel execution, pro for a parallel executable that contains profiling information and dpg for a parallel executable that contains debugging information. The last suffix comp identifies the compiler you are using. This name must be consistent with the compiler abbreviation that appears in the file $CREX_ROOT/deMon/.default-version. However, it does not have to be identical with the real name of the compiler. A database file template is provided in the directory $CREX_ROOT/deMon/x.y.z/database (see Figure 1) by the file The corresponding README file describes in detail how to customize a deMon2k database file for a new platform.

The content of a database file is divided into assignment lines. Each line is started by a CREX/crex variable or the name of a deMon2k source file. A database assignment line can spawn several physical input lines. To continue an assignment line with the next physical input line, the preceding physical line must be terminated with the backslash ``\'' symbol. The individual assignment options are separated by blanks. Their syntax is given by the syntax of the compiler options. It is possible to have informative text lines before the first assignment line, i.e. at the beginning of the database file. These lines do not have to be marked in any special way.