Remove mallocs and pass single buffer in run_op_integration#542
Conversation
felixhekhorn
left a comment
There was a problem hiding this comment.
We need to disentangle the integers on the tensors. For that we need to define two constants const MAX_ORDER_QCD : usize = 4 and MAX_ORDER_QED=2 and then use them in the appropriate places. In particular, while the inner most dimensions of the tensors are typically given by (flavor) algebra, the outer are given by our current knowledge. This constants will also help with the potential helper functions #537 . Be careful that the size is usually MAX_ORDER, but in the QED case it is shifted by one since we fill a matrix. The physics statement is: in eko order refers to the power of the coupling (e.g. as1 is
We must clearly document the new behaviour: since this concerns all functions it might be clever to do this in a central location (e.g. crates/ekore/lib.rs) and then add a single sentence to each function docstring that the buffer has to follow blub. The documentation e.g. needs to explain that we only fill the slots the function has been asked for, which yields undefined behaviour for the remaining entries
felixhekhorn
left a comment
There was a problem hiding this comment.
Can you please check why the benchmarks are running now on commit, when they should not?
eko/.github/workflows/lha_bot_rust.yml
Lines 5 to 7 in 5aebe0a
Any way, once all tests pass, this is good for merge
|
Actually: maybe you want to add a section to the performance document and maybe also adjust the architecture file? |
GitHub does not match "*" with a "/", which is a part of this branch name.
No need to adjust the architecture file, it doesn't go deep as to what we are passing around. |
A pre-requisite for #537 and part of #518
spacelike.rsandcache.rsfiles with necessary changes ineko/src/lib.rs.