-
Notifications
You must be signed in to change notification settings - Fork 3
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
Evolution with large EKOs #209
Comments
Do we have evidence that there really is a problem with |
The problem is in the signature: pineappl/pineappl/src/evolution.rs Line 168 in fc50e9c
If you ask for a rank-5, that's the full one. And we know the size of the full EKO for these processes. |
I understand that the whole thing will be big, but have you ever 1) run |
It is not a performance problem, just a memory consumption problem. Passing a 5-dim operator constructed from the 4-dim ones, or a loader to 4-dim operator, will have exactly the same performance (unless that there are more pieces involved, since you have to join them in Python and might be slower). |
OK, I see! In that case, a straightforward optimization would need functions to perform the following operations:
|
We are more or less slicing the other way round, as described above ( The reason is that different scales are really independent, while in flavor basis in general there are no non-zero pairs The only special case is intrinsic: if you evolve charm below its matching scale (usually charm mass) then the evolution is the identity in flavor basis. But this is really the only case. Moreover, in order to construct a slice containing the elements related to all |
This can be done as well, but I'm not sure it's as efficient, but we'd simply have to try it out.
That's not entirely correct: for Nf=5 PDFs there are no top quarks at both process and fitting scale (PIDs |
Ok, you're right. But for most of the processes even bottom is there, it is just a fraction of DIS data that do not have the bottom, and almost always not for every value of Moreover, as soon as we will have QED (that is decided to be almost done) the default fits and evolution will include the photon.
This is extremely convenient to evolve PDFs, and the only way to compute an EKO (since we can solve DGLAP only for one final scale at a time, but all x values and flavors at the same time). However, that EKO loader will be available anyhow, with the |
@alecandido I thought a bit more about the problem of what interface we should have for this, and one idea would be to have a |
I believe it's a very good solution. The spirit was actually to consume them one by one, and I just never thought that the grid were sliced as well. For completeness: sliced EKOs will be the only EKOs from now on, so you have to merge them anyhow to feed The only unpleasant bit is that we should still improve pineappl/pineappl_py/src/grid.rs Lines 614 to 618 in c756b4c
|
|
Ah, great. I just didn't notice it happened. We can add immediately |
PR #244 will implement the necessary changes. |
As required in #185 (comment) I'm opening a new issue for the problem.
The problem is not a problem at the moment, since we only have a memory problem with the EKO for the whole NNPDF4.0 data set altogether, but we always split by process. And those who require the biggest EKOs are jets, which require an EKO of ~4GB.
However, at the moment PineAPPL needs to load the whole 4GB or whatever they are. But this is only a problem in PineAPPL, since EKO can break them and load one piece at a time (i.e. one
scale at a time).
Actually, the format is already available. As soon as I will have solved the current "top-priority", I will step in and solve myself, providing a lazy-loader to reduce memory consumption (based on the current EKO loader and the new format).
The text was updated successfully, but these errors were encountered: