-
Notifications
You must be signed in to change notification settings - Fork 33
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
Remove (or simplify) ifdefs for MULTICHANNEL #568
Comments
…adgraph5#568) - will revert it and do it separately
… and new code madgraph5#568 - ok but cuda is 30% slower I guess the assert is not helping? Anyway, will revert and do it later, maybe.
…as "new" mulrichannel enabled madgraph5#568 Will revert the last changes anyway and move madgraph5#568 to a separate MR if any...
…st 4 commits Revert "[lhe] rerun tput tee ggtt with multichannel enabled, all ok, as slow as "new" mulrichannel enabled madgraph5#568" This reverts commit 445b321. Revert "[lhe] rerun tput ggtt mad with "#undef MGONGPU_SUPPORTS_MULTICHANNEL" and new code madgraph5#568 - ok but cuda is 30% slower" This reverts commit 3458706. Revert "[lhe] in ggtt.mad prototype a simplification of multichannel ifdefs (madgraph5#568) - will revert it and do it separately" This reverts commit 63e04b9. Revert "[lhe] rebuild ggtt with #undef MGONGPU_SUPPORTS_MULTICHANNEL and rerun tput, looks good (a bit faster?)" This reverts commit b9f534b.
I am getting a slightly different idea about this.
What I think would be cleaner is the following
|
See also the discussion in #473. From that discussion, the whole idea of continuing to generate the .sa directories was that it is a different way of generating
Now, multichannel is relevant here because, IIUC from #473, when I am not in madevent, I simply CANNOT generate the multichannel info. So I need to make sure that the code generated that way builds too. That said, this still allows me to generate code with multichannel and build it with multichannel disabled. Again, multichannel can be disabled at three level The whole point of this #568 in a way is to allow 2 (and to some extent 3) by using the same APIs in sigmakin. Note that the channelid sections are already disabled after each Feynmany diagram, so this does not need to be done
Rephrasing: the only thing I still want to do is to use the same API (same with and without multichannel, ie always keep channelid and numerators/denominators, both in calculate wavefunction and sigmakin) to simplify the code readability. Will be done in a MR after random choice of color. |
I am reviewing old issues. This is very much related to what I tried yesterday in ce57dda for MR #796. Copying @roiser and @oliviermattelaer for info, My conclusions from that work is, it is impossible (or not very practical) to remove the MULTICHANNEL ifdefs. So this issue #568 can be closed. As mentioned in MR #796 there are thee use cases The reason why the ifdefs cannot be removed is use case c: if madevent is not included because codegen is standalone, then there is no coloramps.h, and it simply makes no sense to have color choice code. In that case, it seems just easier to bypass numerator/denominator pointers completely, hence a different signature of some functions. This could still be reviewed eventually, but for the moment I'd keep it as is (as it will be after MR #796) Closing. |
I want to simplify a bit the code structure, in particular remove the ifdefs for multichannel.
Essentially, calculate_wavefunctions has two different signatures if multichannel is enabled or disabled. This makes CPPProcess.cc even heavier in places
I essentially NEVER use or test the option with MGONGPU_SUPPORTS_MULTICHANNEL not defined. I even realised now (I had completely forgotten!) that in the .sa mode I build with it undefined (see #473), but I no longer build it ir test it since a while.
I find it much easier/better to do the following:
One of the main differences is that numerators and denominator arrrays will not be allocated at all.
I will give it a try
The text was updated successfully, but these errors were encountered: