As explained in Section 5.5.4, in general fast mode
simulators are not expected to
accurately predict execution time. However, the fast
mode simulators of deterministic programs
must make correct predictions.
The SP and BT benchmarks are evidently deterministic, since all receives
(
s and
s) are for named sources.
Their corresponding fast mode simulators make accurate predictions and
are identical to the corresponding CEP+NMP+Det mode simulators.
The MG and LU benchmarks are not evidently deterministic, since
many receives have MPI_ANY_SOURCE in their source field. Consequently,
the corresponding CEP+NMP+Det mode simulators treat these receives
as non-deterministic. However, it turns out that the fast mode simulators
of these benchmarks make accurate predictions. Consequently, the
benchmarks must actually be deterministic.
Closer analysis of the benchmarks reveals that
the determinism in these benchmarks is specified
instead in the tag field of receive statements i.e. the receive statements
accept specific tags, which are generated only by the messages of specific
sources. This kind of determinism is much harder to recognize syntactically,
since it is not evident by simply analyzing a receive statement in
isolation.