Fixed MakeHelperModel test nondeterminism by disabling AVX512 with a Docker environment variable. #26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Tracked intermittent failures of the
MakeHelperModel
test to a dependence on whether the GitHub Actions runner CPU used AVX512 instructions. This caused inconsistent behavior in a floating-point comparison of scores in thefind_best_helper
method. Interestingly, the behavior was consistent across non-AVX512 CPUs; in contrast, I observed different results across different AVX512 CPUs (although I don't believe I saw nonreproducibility across runs on any given AVX512 CPU, I can't confirm this).Fixed by appropriately setting the
NPY_DISABLE_CPU_FEATURES
environment variable in the Docker. Not sure if this causes any performance regressions across the board, but I'm not too worried.This is a known issue, see e.g. icecube/skymap_scanner#200 and numpy/numpy#23523.
Went ahead and set some dtypes to
np.int64
andnp.float64
as well, although this doesn't introduce any additional changes. Also did some cleanup and fixed debug logging.