CEMeNT-PSAAP / MCDC

MC/DC: Monte Carlo Dynamic Code
https://mcdc.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
23 stars 24 forks source link

GPU regression testing and reproducibility #225

Open clemekay opened 2 months ago

clemekay commented 2 months ago

Currently, GPU results do not exactly reproduce CPU results for regression tests. This seems to be because of an issue with numba's memory re-allocation (#224, also here).

For now, we plan to create GPU-specific answer files to:

If numba were to change how it handles the memory issue, that could break our reproducibility; that would also be the case for CPU, and that hasn't happened yet. For future numba version releases, we should check back with this issue before supporting the new versions.

ilhamv commented 2 months ago

I want to make sure: (1) the issue (#224) also applies to the current CPU mode and (2) that GPU mode does not reproduce the CPU mode results may be due to other issues, right @braxtoncuneo?

ilhamv commented 2 months ago

GPU is found to reproduce SOME of the CPU results. The following may be a useful reference to help point out what breaks the CPU-GPU reproducibility:

Screenshot 2024-08-15 at 12 00 45 PM image image

cc: @braxtoncuneo, @jpmorgan98

ilhamv commented 2 months ago

I attempted to create the GPU regression test keys here: https://github.com/ilhamv/MCDC/tree/gpu_regression_test

However, I found that the current GPU implementation is not reproducing its own solution for two problems:

cc: @braxtoncuneo, @jpmorgan98