Summary:
This PR addresses issue #315 by replacing JPerfUtils with JBenchUtils, transitioning from standalone functions to a class-based format. The seed for the RNG is now set inside the JBenchUtils constructor using the event number and caller name passed to the constructor.
Changes:
Replaced all instances of JPerfUtils with JBenchUtils.
JBenchUtils is now a class that encapsulates the RNG.
The RNG seed is initialized in the JBenchUtils constructor, ensuring it is set based on the event number and caller name, enhancing reproducibility and eliminating the need for the previous thread-local workaround.
Benefits:
Resolves ASAN errors that were caused by the thread-local pointer to RNG in JPerfUtils.
Simplifies the RNG initialization process, making the codebase cleaner and more maintainable.
Ensures compatibility with the Alma9 migration, removing the outdated workaround for gcc 4.8.5.
Related Issue:
Fixes #315
Testing:
Verified that the RNG behaves as expected in all test cases
Summary: This PR addresses issue #315 by replacing
JPerfUtils
withJBenchUtils
, transitioning from standalone functions to a class-based format. The seed for the RNG is now set inside theJBenchUtils
constructor using the event number and caller name passed to the constructor.Changes:
JPerfUtils
withJBenchUtils
.JBenchUtils
is now a class that encapsulates the RNG.JBenchUtils
constructor, ensuring it is set based on the event number and caller name, enhancing reproducibility and eliminating the need for the previous thread-local workaround.Benefits:
JPerfUtils
.Related Issue:
Testing: