Use Case B: Factors That Impact Non-Determinism
Non-determinism can be difficult to reproduce [22]. In such situations, developers and scientists need to know what factors impact the amount of non-determinism present to make the non-determinism more or less significant. For this reason, intermediate students should be able to identify the factors. Specifically, they should be able to answer the following questions:
- What is the effect of increasing the number of MPI processes used during execution?
- What is the effect of increasing the number of commu- nication pattern iterations?
Learning Goal B1: Study Effects of Number of Processes
In order to satisfy the Goal,students must know that the number of MPI processes in a simulation is directly related with the amount of non-determinism in the simulation: increasing the number of processes will increase the amount of non-determinism, and vice versa.
Observe the scenarios in each figure
Kernel distances for 20 executions of the Unstructured Mesh mini-application. The executions in (a) are performed on 32 MPI processes; and the executions in (b) are performed on 16 MPI processes. The kernel distance is a proxy for non-determinism: the higher, the more non-deterministic the execution.

Note
Each figure is a violin plot across 20 data points that displays the measured amount of non-determinism within the communication pattern at the setting along the X-axis. We use the Unstructured Mesh communication pattern for these two figures, but other patterns are available in ANACIN-X.
Questions
- Task 1: Run ANACIN-X with similar settings on the other benchmarks. Observe that the increase in the number of processes in their simulations to reveal change in degree of non-determinism.
Solution
B1: Solution shows the change in degree of non-determinism by using different benchmark with differen number of proecesses
#

Learning Goal B2: Study Non-determinism across Iterations
Scientific applications often consist of the iterative execution of the same software code. These iterations during the same application execution exhibit non-determinism that is easy to identify. To satisfy Goal B.2, students should be able to link the iterations of an application execution to the amount of non- determinism in the application.
Observe the scenarios in each figure
Kernel distances for 20 executions of the Unstructured Mesh mini-application. The executions in (a) are performed with two iterations of the core application code; and the executions in (b) are performed with single iterations of the core application code. The kernel distance is a proxy for non-determinism: the higher, the more non-deterministic the execution.

Questions
- Task 1: Run ANACIN-X with similar settings on the other benchmarks applications to generate plots. Discover if there is a link between iterations and amount of non-determinism in the application.
Note
For this test, ANACIN-X should be run with 100% non-determinism to produce results with significant non-determinism across iterations. These tests enable students to understand how, in applications exhibiting non-determinism, by increasing the number of iterations in their application, they may accumulate substantial differences in the numerical results and ultimately different scientific findings.
Solution
Task 2: Solution to TASK 2
#