-
Notifications
You must be signed in to change notification settings - Fork 3
Rustify N3LO Ad #443
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
base: master
Are you sure you want to change the base?
Rustify N3LO Ad #443
Conversation
Also here is another suggestion for the harmonics module: all functions called " what do you think @giacomomagni @tgiani ? |
Sure this require a bit of restructure though... |
I made an attempt in 462f62c - so, do we want to do this? I can take care of the copy&paste if you wish ;-) I also made some adjustments to make pre-commit happy |
I'm also starting to think, that the log expressions are so complicated (look at |
Some of them might not be needed, because the Moch et al. expressions are simpler... |
I forgot to mention: the prize that we had to pay for this was eko/crates/ekore/src/harmonics/w3.rs Lines 36 to 37 in 462f62c
i.e. we had to create a new cache, which is potentially expensive ... there are in principle two strategies I can imagine to avoid that (if we want to avoid it):
|
crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as4.rs
Outdated
Show resolved
Hide resolved
crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as4/ggg.rs
Outdated
Show resolved
Hide resolved
crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as4/ggg.rs
Outdated
Show resolved
Hide resolved
crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as4/gnsm.rs
Outdated
Show resolved
Hide resolved
crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as4/gqg.rs
Outdated
Show resolved
Hide resolved
I agree with this comment rust-lang/rustfmt#3350 (comment) and since it is not in stable I do it by hand.
Any comment on the cache recreation issue? Else: is this ready? if yes, let's mark it, thus make the benchmarks run and the we can quickly merge |
Not yet! I need to add the variation to the kernel. I'll do it asap. |
Maybe all these optimisation can be addressed once the full ekore is in place ? |
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.
- if only we had Add regression tests #440 🙈
- do you have by chance a time (ratio) estimate?
- on second thought: should we also make
w1::S1
take only the cache as argument?
besides these small issues the PR is good to go
crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as4.rs
Outdated
Show resolved
Hide resolved
mode: u16, | ||
c: &mut Cache, | ||
nf: u8, | ||
n3lo_variation: [u8; 3], |
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.
I'm torn between
- having a uniform interface, i.e. passing everywhere [u8; 7] and
- passing only the relevant information, i.e. [u8; 3]
look also to gamma_ns_qed
... let's also ask to @tgiani for a second opinion ... maybe at the top level (i.e. here) I slightly prefer 1.?
for 1. we could also define some constants á là const IDX_VARIATION_GG: usize = 0;
etc.
in any case I suggest to have the documentation top-level: for singlet see my other comment and also here we need to have an explicit spell out (be it 1. or second)
Just to have a quick feeling on the spped-up.
So the speed up ratio is more or less the same at both orders. |
FFNS I assume? other it would be not fair |
VFNS, recall now we're able to decouple the 2 ptos! |
No description provided.