Skip to content
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

Rework benchmarking system #68

Merged
merged 17 commits into from
Jul 9, 2020
Merged

Rework benchmarking system #68

merged 17 commits into from
Jul 9, 2020

Conversation

felixhekhorn
Copy link
Contributor

No description provided.

@felixhekhorn felixhekhorn added refactor Refactor code test Add or improve tests labels Jul 7, 2020
@codecov
Copy link

codecov bot commented Jul 7, 2020

Codecov Report

Merging #68 into develop will decrease coverage by 31.23%.
The diff coverage is 50.00%.

Impacted file tree graph

@@             Coverage Diff              @@
##           develop      #68       +/-   ##
============================================
- Coverage    92.20%   60.96%   -31.24%     
============================================
  Files           19       19               
  Lines          821      825        +4     
============================================
- Hits           757      503      -254     
- Misses          64      322      +258     
Flag Coverage Δ
#benchmarks ?
#regression ?
#unittests 60.96% <50.00%> (+1.77%) ⬆️
Impacted Files Coverage Δ
src/yadism/runner.py 31.14% <0.00%> (-67.19%) ⬇️
src/yadism/observable_name.py 51.61% <66.66%> (-7.71%) ⬇️
src/yadism/structure_functions/f2_light.py 27.77% <0.00%> (-72.23%) ⬇️
src/yadism/coupling_constants.py 36.36% <0.00%> (-63.64%) ⬇️
src/yadism/output.py 31.25% <0.00%> (-56.25%) ⬇️
src/yadism/structure_functions/fl_light.py 44.44% <0.00%> (-55.56%) ⬇️
src/yadism/structure_functions/esf.py 42.85% <0.00%> (-53.97%) ⬇️
src/yadism/structure_functions/fl_heavy.py 55.00% <0.00%> (-45.00%) ⬇️
.../yadism/structure_functions/splitting_functions.py 55.55% <0.00%> (-44.45%) ⬇️
... and 6 more

@alecandido
Copy link
Member

alecandido commented Jul 7, 2020

Towards a stable Benchmarks Suite

We are currently refactoring the whole benchmarking system (not regression test) to make it stable and suitable for CI workflows

The following steps are in our plan:

Redefine the db structure:

  • apfel will have its own database, with its theories, observables and cache
  • qcdnum as well, both theories and observables won't be the same of apfel, because of the different implemented features in the two codes
  • logs will have their own db, used mainly locally (even if it will be produced also by the workflows)
  • sandbox input db will be added to support the new structure

observables

at the same time we are going to differentiate observables per external program, but also unifying them in few records (essentially one per perturbative order), to be able to speed up the calculation either in the external objects (that will precompute everything on a grid) and in the same yadism, that will take advantage of caching system and numba JIT compilation

Less dependencies into the workflows

  • the cache will be uploaded in the same way of what it is happening for regression, since it is even more stable than regression itself
  • apfel computation won't be performed anymore during workflows
  • qcdnum comparison will be available for workflows
  • conda won't be anymore a part of the game

Welcome sandbox

  • a new way of running comparisons will be available for local use only
  • it will have its dedicated script ecosystem, to be able to change comparison in a fast and flexible way
  • it won't affect any test/benchmark score so there is no reason to worry about its stability

@alecandido
Copy link
Member

alecandido commented Jul 7, 2020

  • think about list of known differences for make benchmarks aware of particular kinematical corners

@felixhekhorn felixhekhorn merged commit 6f42a2a into develop Jul 9, 2020
@felixhekhorn felixhekhorn deleted the benchmark/upgrade branch July 9, 2020 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactor Refactor code test Add or improve tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants