-
Notifications
You must be signed in to change notification settings - Fork 2
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
Reorganize runcards and metadata #220
Conversation
@felixhekhorn as usual, tests are broken in surprisingly complicate ways, so I'm a bit stuck fixing them... However, the plan, after fixing tests, it is just:
|
Now tests are passing thanks @felixhekhorn (after 3 trials of running CI, thanks @codecov...). |
If I understood correctly the blog post you linked the other day there is nothing we can do (except move away from CodeCov) and trying to re-run makes the situation only worse ... so if we fail, we can check whether we fail in pytest or on codecov and simply ignore the latter (and hope for the next commit) |
I tried to update the action version, but as you said in principle nothing should change... |
f5a66a6
to
4e77b3e
Compare
662e4c0
to
a5ab866
Compare
In c5f0d19 I actually dropped more than I wanted to do in a single commit, but it was worth to fix tests once and for all.
There is another breaking change I'd like to operate in this PR (other than the new While this is going in the correct direction, i.e. you decide a scale, and then you square it (that is more predictable than a square root), it's still unpleasant... |
Just to point out once more: our unit tests are not unit at all... and for this reason some specific changes are a real pain... We definitely need better interfaces and more decoupling between components. |
@felixhekhorn you'll be happy: upgrading On top of that, since I was already looking at most of the occurrences, I decided to drop |
There are only two new items that have been generated by 6b830a9:
* actually, the runner will do nothing less because of this, but only "more", since the paths computed by the atlas should take into account the final number of flavors, instead of inferring it |
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.
a few comments
@felixhekhorn the PR should be ready, but for testing (and possibly fixing) actual benchmarks. Your review, and potentially also your help (to speed up), would be appreciated 🙇 |
Actually, I'm not sure about the representation of the Lines 138 to 146 in 9fc14ba
There are possibly two running objects, but they have to be coordinated: either the second is not running, or they have to share the reference scale, enforced in Lines 153 to 161 in 9fc14ba
But instead for This option would denest the structure, save a check (since it will be only possible to represent consistent objects), improve symmetry with What do you think about? @felixhekhorn @giacomomagni @niclaurenti @andreab1997 |
You mean that you would like to remove |
Ok, good that you mentioned: what is the decoupled running? Everything that is currently supported will still be supported in the proposed layout. That class is only used to specify the reference value, and we always said that if both are running, the two reference values have to be given at the same scale (since it's the border condition of a vector-valued differential equation). If you then want to have more of those for some reason, you should be free to instantiate multiple ones per run. |
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.
For my knowledge are these changes compatible with the current Eko on master??
In the sense that ekos can be loaded and used safely, provided pineko
will be adjusted...
It's the running without the mixed terms (i.e. the QED corrections to the QCD beta function and the QCD corrections to the QED beta function). So in this case the two
In any case, I'm perfectly fine with your proposal. |
@giacomomagni The point of this PR is precisely to break the runcard once more, since we know that there are leftovers of the December rework that are meaningless (
However, as mentioned this should break the producer interface, in the sense that existing runcards might have to be manually/automatically upgraded, but it should not break the consumer interface. I.e. if you computed an EKO, you should still be able to read it (inside EDIT: the part about the consumer interface will be true up to the point in which we will actually use the specified number flavors in |
@niclaurenti If they are decoupled (that is possibly inconsistent with usage in DGLAP) you will be able to use two different If they are decoupled, but the reference values are given at the same scale, you can also share the same instance, and just shut down the mixed terms :) |
Co-authored-by: Giacomo Magni <39065935+giacomomagni@users.noreply.github.com>
In order to keep working (i.e. avoid isolated benchmarks) with the current testing workflow
c9e5ff6
to
e3ec8ed
Compare
#217 (comment)
Given that I had to rediscover the hot water in #217, I decided that I really needed to solve first #205, i.e. to stabilize the runcards layout.
I knew already from @andreab1997 feedback that there are some suboptimal components (e.g. presence of
Rotations
inOperatorCard
, or the doubling of_mugrid
/_mu2grid
, none of which should be dumped with a prepended underscore), and I know by myself that some other objects are cumbersome (e.g. the quarks props require a dict with keys"cbt"
, or thevalue
/scale
quantities), or potentially wrongly located (I movedEvolutionMethod
to theOperatorCard
, along the other properties specifying it, but I never asked everyone else).Since we have to start soon computing expensive EKOs, it is better to solve this immediately.
So, please, @andreab1997, @giacomomagni, and @felixhekhorn provide feedback on the current status of runcards, such that I can make a proposal for the final layout (of course also @niclaurenti and @t7phy are invited to comment, but I expect the played much less with these runcards).
mu2grid
to host tuples with flavorflavored_mu2grid()
check/fix actual benchmarksmaster
, they will be fixed thereGeneric
based types are working, drop superseded dynamic generation explanation Reorganize runcards and metadata #220 (comment)