CPP keys
The following CPP keys can be activated:
(see
CPPDEF in oasis4/util/make_dir/make.xxx files)
- PSMILE_WITH_IO: to make use of the IO capability of PSMILe
- PRISM_WITH_MPI1: This option has to be chosen if the
available MPI library supports only MPI1 standard, like mpich1.2.*.
Correct behaviour is ensured only on 32 bit architectures.
This key is mutually exclusive with the PRISM_WITH_MPI2 key.
- PRISM_WITH_MPI2: When the available MPI2 library supports
the MPI2 standard, this option should be chosen instead
(in particular on 64-bit architectures).
This key is mutually exclusive with the PRISM_WITH_MPI1 key.
- DONT_HAVE_STDMPI2: This key has to used in conjunction with
PRISM_WITH_MPI2 for partial MPI2 implementation (e.g. on IBM
Power 6 and with SCALI MPI). If activated, the MPI2 spawn
functionality MPI_Comm_spawn_multiple will not be
used. MPI_Finalized, MPI_Allreduce with MPI_IN_PLACE as first
argument, and MPI_Waitall with
MPI_STATUSES_IGNORE as 3rd
argument will not be used either. Note that in this case,
the element start_mode has to be not_spawn in the SCC.xml file.
- PRISM_LAM: if LAM-MPI library is used.
- DONT_HAVE_ERRORCODES_IGNORE: As a workaround for some MPI2
implementations that do not support the MPI parameter
MPI_ERRORCODES_IGNORE
(as before last argument to MPI_Comm_spawn_multiple call)
this key has to be activated. If at all,
it is only needed in conjunction with PRISM_WITH_MPI2.
- SX: To achieve better performance on vector architecture this
option should be set.
- VERBOSE: Useful for debugging purposes, activation this key
will cause the library and driver routines to run in verbose mode.
Since all output is immediately flushed to standard output this
will significantly decrease performance and is therefore not
recommended for production runs.
- DEBUG: Mainly used by OASIS4 developers. Activating this
option will cause the driver and library to write out additional
output for debugging purpose. This output is immediately flushed
to standard output and will therefore decrease performance.
- PRISM_ASSERTION: Mainly used by OASIS4 developers; the code
encapsulated by this cpp key will perform additional internal
consistency checks and will provide additional information for
debugging.
- NAG_COMPILER: Mandatory to compile and run with the NAG compiler.