-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Benchmarks reliability #2998
Benchmarks reliability #2998
Conversation
Increase the energy minimization steps and show the energy after minimization. At every time measurement, also show the energy (should be constant).
Test bonded interactions (harmonic bond) and allow mixing of MPI and non-MPI jobs in the benchmark suite.
These energies are not useful considering the stochastic nature of simulations and do not participate in the calculation of performance.
Apply the same treatment to all configuration files: add features required for the benchmarks to run and remove debug features that slow down the code.
Stop the benchmark suite in case of fatal error. Failed benchmark jobs won't trigger the traps.
P3M = ELECTROSTATICS + FFTW. ELECTROSTATICS alone is not sufficient.
Stay in the build directory for the entire duration of the benchmarks.
Codecov Report
@@ Coverage Diff @@
## python #2998 +/- ##
======================================
- Coverage 82% 82% -1%
======================================
Files 525 525
Lines 26806 26806
======================================
- Hits 22014 22012 -2
- Misses 4792 4794 +2
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bors r+
2984: Don't unroll loops with nontrivial loop bodies r=KaiSzuttor a=mkuron Simple assignments and arithmetic are fine to unroll, but if there's a function call or a nested loop, unrolling is probably not useful Follow-up to #2982. 2993: Update Doxygen landing page r=RudolfWeeber a=jngrad Fixes #2600, closes #294 Update Doxygen landing page and add a link to the Related Pages where detailed instructions are provided for developing new features in the C++ core. 2998: Benchmarks reliability r=RudolfWeeber a=jngrad Since 4.0 a few things changed in the CMake workflow (either in espresso CMake files, or in newer CMake releases) that broke the benchmark functionality: - changing myconfig.hpp doesn't always cause a full project recompilation (rare) - ctest sometimes runs benchmarks in parallel The benchmark bash scripts were also brittle. They were both refactored based on `build_cmake.sh`: - trap mechanism with clear error message - another trap with cleanup action - simplified CMake logic - ctest runs benchmarks in serial - erase /build/src before each compilation Other changes: - don't print debug energy values in the CSV output - some column names were changed - the [wiki documentation](https://github.com/espressomd/espresso/wiki/Development#benchmarking) was updated accordingly - and it now discusses condor on ICP machines - reduce risk of LJ simulation crashing with a longer energy minimization - add a benchmark for bonded interactions - print more info in stdout (config file being processed, energy during LJ minimization and simulation) Co-authored-by: Michael Kuron <[email protected]> Co-authored-by: Kai Szuttor <[email protected]> Co-authored-by: Jean-Noël Grad <[email protected]>
Build succeeded |
Since 4.0 a few things changed in the CMake workflow (either in espresso CMake files, or in newer CMake releases) that broke the benchmark functionality:
The benchmark bash scripts were also brittle. They were both refactored based on
build_cmake.sh
:Other changes: