-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
My "vecsize" patches have broken mg5amcnlo "launch" for the default Fortran madevent #629
Comments
(Just one word of expanation: I am still working on the nprocesses>1 #272 and split_nonidentical_grouping #619. I wanted to reproduce Olivier's plot from #272 (comment) discuused at the meeting last week. This needs "launch". So I tried launch, an dit failed not only for my more complex processes but even for the simplest ggtt process... This is not a blosker for the ther things we are doing in parallel, but it is a blosker for madevent in fortran of all default production users) |
Assigning this to myself - I will work on this after the Easter break |
Start having a quick look at this. Analysing the two vecsize (mg5amcnlo/mg5amcnlo#23) and vecsize2 (mg5amcnlo/mg5amcnlo#24) patches upstream In reverse order, for vecsize2:
And for vecsize:
I should try to remove only the include vecsize.inc, adding a new parameter elsewhere |
The vector.inc changes are quite encapsulated. I should go along the lines of
Will check next week |
…h4gpu#629) Revert "[vecsize] add comments to all 'include vector.inc' as agreed with Olivier" This reverts commit 4e9a0d7.
…h4gpu#629) Revert "[vecsize] fix a few more includes in madgraph/iolibs/template_files/auto_dsig_v4.inc" This reverts commit 76feadd.
…h4gpu#629) Revert "[vecsize] add "include 'vector.inc'" in all files where it is needed" This reverts commit b729653. Fix conflicts: madgraph/iolibs/template_files/auto_dsig_v4.inc
…adgraph4gpu#629) Use VECSIZE_MEMMAX_COUPL instead of VECSIZE_MEMMAX, add its definition, and add a comment about it
…5/madgraph4gpu#629) Add vector.inc defining VECSIZE_MEMMAX, in addition to coupl.inc defining VECSIZE_MEMMAX_COUPL
…dgraph4gpu#629) Add vector.inc defining VECSIZE_MEMMAX, in addition to coupl.inc defining VECSIZE_MEMMAX_COUPL
…dgraph4gpu#629) Add a sanity check that VECSIZE_MEMMAX == VECSIZE_MEMMAX_COUPL This COMPLETES the relevant fixes for madgraph5/madgraph4gpu#629 Now "launch" for a simple process in the standard Fortran madevent backend works again as expected
… successful builds after reverting many vecsize changes In coupl.inc, add VECSIZE_MEMMAX_COUPL duplicating VECSIZE_MEMMAX from vector.inc In driver.f and auto_dsig1.f, add vector.inc to provide VECSIZE_MEMMAX
…at VECSIZE_MEMMAX == VECSIZE_MEMMAX_COUPL
…, driver.f to make them easier for upstream codegen
…_COUPL instead of VECSIZE_MEMMAX for coupl_write.inc
…g the unpatches upstream codegen (The patches do not change - it is the reference over which they are applied that changed) ./CODEGEN/generateAndCompare.sh gg_tt --mad --nopatch git diff --no-ext-diff -R gg_tt.mad/Source/dsample.f gg_tt.mad/Source/genps.inc gg_tt.mad/Source/vector.inc gg_tt.mad/SubProcesses/makefile > CODEGEN/MG5aMC_patches/PROD/patch.common git diff --no-ext-diff -R gg_tt.mad/SubProcesses/P1_gg_ttx/auto_dsig1.f gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f gg_tt.mad/SubProcesses/P1_gg_ttx/matrix1.f > CODEGEN/MG5aMC_patches/PROD/patch.P1 git checkout gg_tt.mad
This is mg5amcnlo/mg5amcnlo#49 upstream which fixes madgraph5#629
…upl.inc in reweight.f NB: Olivier's patch by itself was enough to fix madgraph5/madgraph4gpu#629 (this is part of commit c1d10f4) git checkout 8512c16 madgraph/iolibs/template_files/madevent_symmetry.f
I had closed this, assuming that the fix would come from In the end, @oliviermattelaer fixed this specific issue with the simpler mg5amcnlo/mg5amcnlo@c1d10f4 So most of that mg5amcnlo/mg5amcnlo#49 becomes unncessary. I am rolling it back. I am upgrading the codegen and all geneated code to that upstream. Thanks Olivier! Keeping this open while working on it. |
…for CMS Drell-Yan (madgraph5#645) NB: Olivier's patch also includes one commit fixing madgraph5#629, making vecsizeFIX unnecessary (at least for the moment)
….sh, after removing VECSIZE_MEMMAX_COUPL Revert "[vecsizeFIX] madgraph5#629 in codegen patchMad.sh, use VECSIZE_MEMMAX_COUPL instead of VECSIZE_MEMMAX for coupl_write.inc" This reverts commit a541807.
This is now fixed by #654, which is based on upstream mg5amcnlo/mg5amcnlo#54
This is building an drunning ok, so the issue can be closed |
Hi @oliviermattelaer this is a bad one. Sorry, it seems that I had not tested my vecsize patches for the simplest thing, namely a Fortran madevent only. This is totally broken.
Using gpucpp 4a54a9af4c883b4384e4d754c550d9bb120bd415 (so before your latest patches, but I guess it makes no difference), something as simple as this fails
The problem is ultimately vector.inc and the absence of include guards in Fortran #458
include 'vector.inc'
is a Fortran command which does not go through the cpp preprocessor.. so it is a total nightmare to make sure that the parameter VECSIZE_MEMMAX is included excatly once...Before my patch. the value eg 16384 was HARDCODED in each file. I guess we need to go back to something like that...
The text was updated successfully, but these errors were encountered: