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

Jet-interpolation-grid evolution issues #185

Closed
felixhekhorn opened this issue Oct 10, 2022 · 15 comments
Closed

Jet-interpolation-grid evolution issues #185

felixhekhorn opened this issue Oct 10, 2022 · 15 comments
Labels
enhancement New feature or request

Comments

@felixhekhorn
Copy link
Contributor

felixhekhorn commented Oct 10, 2022

In order to convolute jets we need to adjust the EKO side since we're limited by memory there (discussed in NNPDF/eko#138 and related issues/PRs)

I wonder, whether we're also limited by memory here, even with the new layout developed in #184. The actual size of the ekos is

$ du -ch 200-CMS_1JET_8TEV-CMS_1JET_8TEV-bin00*
[...]
554M	total

An easy solution, if we're limited, would be just to add a bin_mask argument to Grid::evolve (and one to Grid::axis, since we need to provide the correct ekos in the first place). In practice this was faked to compute theory 200 via the deviation of splitting the bins before computing the eko and rejoining them after the FK table computation.

@felixhekhorn felixhekhorn added the enhancement New feature or request label Oct 10, 2022
@alecandido
Copy link
Member

Have you tried to optimize the grid? Or is it that big after optimization?

@felixhekhorn
Copy link
Contributor Author

it's the size of the ekos (which actually is not clear from the command line)

@cschwan cschwan changed the title Convoluting jets Jet-interpolation-grid evolution issues Oct 10, 2022
@alecandido
Copy link
Member

it's the size of the ekos (which actually is not clear from the command line)

But if that is the full EKO for bin00, remember that there is the dynamic scale inside the bin. So, with the new output each individual operator (for each $\mu^2$ value) might be reasonable enough :)

@cschwan
Copy link
Contributor

cschwan commented Oct 10, 2022

@felixhekhorn
Copy link
Contributor Author

But if that is the full EKO for bin00, remember that there is the dynamic scale inside the bin. So, with the new output each individual operator (for each μ2 value) might be reasonable enough :)

exactly! they are ~2MB each - but this improve data structure can not be exposed to Grid::evolve

@felixhekhorn
Copy link
Contributor Author

If you tell me how I should change these lines,

https://github.com/NNPDF/pineappl/pull/184/files#diff-7b7287991850a10d433203bd3a81118ecea8c293bfa5f3fde86451fe49eead99R2644-R2651

I can try it!

actually, how big is that eko? the problem I can see is passing around 500MB of data (and at some point we may have the double I guess, because Rust will copy from Python, I guess?)

@alecandido
Copy link
Member

exactly! they are ~2MB each - but this improve data structure can not be exposed to Grid::evolve

Why not? Maybe not yet.

The final step of the new format was providing a Rust API to load it NNPDF/eko#97, and it should take too much (i.e. I believe I can take care of in a short time).

Since @cschwan already loaded successfully a Numpy array, I only need to unpack the tarball and do the same for the relevant operator.

@felixhekhorn
Copy link
Contributor Author

exactly! they are ~2MB each - but this improve data structure can not be exposed to Grid::evolve

just to say that at some point we were actually thinking about exposing this data struture NNPDF/eko#97 but this is for sure mid-/long-term and not a short term solution to do NNPDF/pineko#62

@alecandido
Copy link
Member

alecandido commented Oct 10, 2022

Actually, I consider that to be the short term one: the bottleneck is the computation of EKO in the new format, not reading it :)

@cschwan
Copy link
Contributor

cschwan commented Oct 14, 2022

Could you provide me with a jet-EKO? I'd really like to test it.

@cschwan
Copy link
Contributor

cschwan commented Oct 17, 2022

You can also try it yourself now, @felixhekhorn: in #184 I added a new subcommand evolve which should understand the EKO format:

pineappl evolve grid.pineappl.lz4 eko.tar fktable.lz4 PDFset

which evolves grid.pineappl.lz4 using eko.tar to produce fktable.lz4 and perform a check using PDFset.

@alecandido
Copy link
Member

Could you provide me with a jet-EKO? I'd really like to test it.

Sorry for the no reply: problem is that we don't have. In order to evolve them, @felixhekhorn did the trick of splitting the grid by bin, evolve individually, and finally merge the FkTable.

This will be solved by the usual NNPDF/eko#138...

@alecandido
Copy link
Member

You can also try it yourself now, @felixhekhorn: in #184 I added a new subcommand evolve

I saw: I believe we will always use the Python API through pineko.
But it is useful for quick checks, and it is also for external users: they may want FkTables, but pineko can still be to rigid for them :)

@cschwan
Copy link
Contributor

cschwan commented Oct 17, 2022

[..] But it is useful for quick checks, [..]

That's exactly the idea. Pineko does much more than just evolve, of course.

@cschwan
Copy link
Contributor

cschwan commented Feb 22, 2023

I don't see any PineAPPL-related problem open, if there are please open a new Issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants