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

WIP add pp_tt to repo (plus obsolete fixes for bug 872 via reset_cumulative_variable, now fixed by Olivier via a single helicity filter) #935

Draft
wants to merge 123 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
4d2481e
[pptt] in CODEGEN/generateAndCompare.sh add gu_ttgu to debug #872 in …
valassi Jul 23, 2024
a37daff
[pptt] add gu_ttgu.mad to the repository to debug #872
valassi Jul 23, 2024
6df57e9
[pptt] in tmad madX.sh and teeMadX.sh, add the guttgu test for #872
valassi Jul 23, 2024
e5295ea
[pptt] first tmad test for guttgu: it succeeds (bug #872 does not sho…
valassi Jul 23, 2024
c4c81ec
[pptt] in tmad madX.sh and teeMadX.sh, add the gqttgq test for #872
valassi Jul 23, 2024
cc8d848
[pptt] in CODEGEN/generateAndCompare.sh add gq_ttgq to debug #872 in …
valassi Jul 23, 2024
0554a7a
[pptt] add gq_ttgq.mad to the repository to debug #872
valassi Jul 23, 2024
1976181
[pptt] first tmad test for gqttgq: it also succeeds (bug #872 does no…
valassi Jul 23, 2024
a76da9d
[pptt] in CODEGEN/generateAndCompare.sh modify gq_ttgq to debug #872 …
valassi Jul 23, 2024
b29d9cc
[pptt] regenerate gq_ttgq.mad to debug #872, without antiquarks - P1_…
valassi Jul 23, 2024
343a98b
[pptt] in CODEGEN/generateAndCompare.sh add fixed-leg pp_ttjj to debu…
valassi Jul 23, 2024
451c6a7
[pptt] add pp_ttjj.mad to the repository to debug #872
valassi Jul 23, 2024
ba81b2b
[pptt] in tmad madX.sh and teeMadX.sh, add the pptt012j and ppttjj te…
valassi Jul 23, 2024
e98e78f
[pptt] first manual tmad tests for pptt012j and ppttjj: they both fai…
valassi Jul 23, 2024
71001ea
[pptt] in pp_ttjj.mad(P1_gu_ttxgu) and pp_tt012j.mad(P2_gu_ttxgu) mir…
valassi Jul 24, 2024
56ec4d7
[pptt] rerun manual tmad tests for pptt012j and ppttjj after setting …
valassi Jul 24, 2024
b28e04b
[pptt] in CODEGEN model_handling.py, disable mirror processing again …
valassi Jul 24, 2024
b74efb6
[pptt] regenerate pp_ttjj.mad after modifying CODEGEN model_handling.…
valassi Jul 24, 2024
a758b8a
[pptt] rerun manual tmad tests and ppttjj after regenerating with MIR…
valassi Jul 24, 2024
b5576ad
[pptt] in CODEGEN for CPPProcess.cc, add back the static_assert expec…
valassi Jul 24, 2024
92aea22
[pptt] regenerate pp_ttjj.mad after modifying CODEGEN to add a static…
valassi Jul 24, 2024
12b569d
[pptt] regenerate pp_tt012j.mad after modifying CODEGEN to disable mi…
valassi Jul 24, 2024
30dcbfe
[pptt] rerun manual tmad tests and ppttjj after regenerating with MIR…
valassi Jul 24, 2024
5bc6f75
[pptt] remove gu_ttgu.mad from the repo, after understanding and fixi…
valassi Jul 24, 2024
da07787
[pptt] remove gq_ttgq.mad from the repo, after understanding and fixi…
valassi Jul 24, 2024
6c31e3f
[pptt] remove pp_ttjj.mad from the repo, after understanding and fixi…
valassi Jul 24, 2024
b6b4e90
[pptt] in tmad madX.sh and teeMadX.sh, remove the gqttgq guttgu and p…
valassi Jul 24, 2024
b70a931
[pptt] in tmad, remove the logs for gqttgq guttgu and ppttjj tests af…
valassi Jul 24, 2024
43673b5
[pptt] regenerate all processes (essentially only changing the static…
valassi Jul 24, 2024
5282c49
[pptt] temporarely add back pp_ttjj.mad to the repo, using the latest…
valassi Jul 25, 2024
99d3d31
[pptt] in tlau add the results of a cuda test for pp_ttjj
valassi Jul 25, 2024
0c4983b
[pptt] in tlau add the results of a fortran test for pp_ttjj
valassi Jul 25, 2024
f64a8fc
[pptt] in tlau add the results of a cpp512y test for pp_ttjj
valassi Jul 25, 2024
f79f104
[pptt] go back to pp_ttjj.mad with MIRROPROCS=TRUE
valassi Jul 25, 2024
7745be2
[pptt] in tlau add the results of a fortran test for pp_ttjj with MIR…
valassi Jul 25, 2024
1b1d564
[pptt] in tlau add the results of a cuda test for pp_ttjj with MIRROR…
valassi Jul 25, 2024
73627a4
[pptt] in tlau add the results of a cpp512y test for pp_ttjj with MIR…
valassi Jul 25, 2024
80b78f0
[pptt] for comparison, add pp_ttjj.madonly to the repo
valassi Jul 25, 2024
b685196
[pptt] in CODEGEN, undo my two recent changes, i.e. essentially go ba…
valassi Jul 25, 2024
8fa3300
[pptt] regenerate pp_ttjj.mad after undoing CODEGEN changes - essenti…
valassi Jul 25, 2024
20e5363
[pptt] regenerate pp_tt012j.mad after undoing CODEGEN changes - back …
valassi Jul 26, 2024
94bb658
[pptt] rerun manual tmad tests for pptt012j after regenerating with M…
valassi Jul 26, 2024
9070154
[pptt] in tmad/madX.sh, use P0_uux_ttx instead of P2_gu_ttxgu for the…
valassi Jul 26, 2024
bdd256f
[pptt] rerun manual tmad tests for pptt012j with MIRRORPROCS=TRUE aft…
valassi Jul 26, 2024
f768cb0
[pptt] go back temporarely to pp_tt012j with nprocesses=1 and MIRRORP…
valassi Jul 26, 2024
57dc18d
[pptt] rerun manual tmad tests for pptt012j with MIRRORPROCS=FALSE af…
valassi Jul 26, 2024
442be4d
[pptt] revert the last four commits: back to ppt012j tests on P2_gu_t…
valassi Jul 26, 2024
a3e8369
[pptt] remove pp_ttjj.mad from the repo again
valassi Jul 26, 2024
e32d7cd
[pptt] remove pp_ttjj.madonly from the repo again
valassi Jul 26, 2024
b8783a2
[pptt] add uu_tt.mad to the repo (NB: this has MIRRORPROCS=FALSE even…
valassi Jul 26, 2024
57db836
[pptt] add pp_tt.mad to the repo (here with MIRRORPROCS=TRUE)
valassi Jul 26, 2024
9a47b3c
[pptt] in CODEGEN/generateAndCompare.sh add the qq_tt process (debug …
valassi Jul 26, 2024
a9eed01
[pptt] add qq_tt.mad to the repo (NB: this has MIRRORPROCS=FALSE even…
valassi Jul 26, 2024
4205ec2
[pptt] remove uu_tt.mad from the repo again, better use qq_tt.mad!
valassi Jul 26, 2024
87d5b18
[pptt] in tmad madX.sh and teeMadX.sh, add the qqtt and pptt test for…
valassi Jul 26, 2024
19d1513
[pptt] rerun manual tmad tests for qqtt and pptt: the former succeeds…
valassi Jul 26, 2024
a3659dd
[pptt] remove tmad logs for pp_tt012j, will use pp_tt and qq_tt to de…
valassi Jul 26, 2024
6f860b9
[pptt] in pp_tt.mad P1_uux_ttx/auto_dsig1.f, try to remove a RESET_CU…
valassi Jul 26, 2024
08e4cee
[pptt] rerun manual tmad test for pptt after commenting out RESET_CUM…
valassi Jul 26, 2024
a80471e
[pptt] in pp_tt.mad and tmad logs revert the changes commenting out R…
valassi Jul 26, 2024
9bd1050
[pptt] in tmad/madX.sh, add debug printouts for RESET CUMULATIVE VARI…
valassi Jul 26, 2024
0b28b57
[pptt] rerun manual tmad test for pptt including RESET CUMULATIVE VAR…
valassi Jul 26, 2024
91e3f42
[pptt] rerun manual tmad test for qqtt including RESET CUMULATIVE VAR…
valassi Jul 26, 2024
be6627d
[pptt] in pp_tt.mad P1_uux_ttx, add some debug printouts for RESET_CU…
valassi Jul 26, 2024
934c09c
[pptt] rerun manual tmad test for pptt including RESET CUMULATIVE VAR…
valassi Jul 26, 2024
2774e5e
[pptt] in pp_tt.mad P1_uux_ttx, add some debug printouts for IMIRROR …
valassi Jul 26, 2024
bc9b1f9
[pptt] in tmad/madX.sh, add further debug printouts for RESET_CUMULAT…
valassi Jul 26, 2024
bea7289
[pptt] rerun manual tmad test for pptt including further debug printouts
valassi Jul 26, 2024
7bf806a
[pptt] in pp_tt.mad P1_uux_ttx, first attempt to fix #872 by calling …
valassi Jul 26, 2024
bd1a6ca
[pptt] rerun manual tmad test for pptt after my attempted fix, this s…
valassi Jul 26, 2024
6cebf88
[pptt] in pp_tt.mad P1_uux_ttx, improve the fix for #872, take into a…
valassi Jul 26, 2024
aee4eea
[pptt] rerun manual tmad test for pptt after my second fix, the ngood…
valassi Jul 26, 2024
3423f74
[pptt] in pp_tt.mad P1_uux_ttx, remove the extra debug printouts for …
valassi Jul 26, 2024
b8f9091
[pptt] regenerate gg_tt.mad with nprocesses==2 allowed, prepare to ba…
valassi Jul 26, 2024
f7c1a9b
[pptt] in gg_tt.mad, backport from pp_tt.mad the work around develope…
valassi Jul 26, 2024
cd5b3f9
[pptt] in CODEGEN, recreate patch from gg_tt.mad fixing #872 (compute…
valassi Jul 26, 2024
7b7fb0b
[pptt] regenerate gg_tt.mad, all looks ok
valassi Jul 26, 2024
3020749
[pptt] regenerate pp_tt.mad, all looks ok (changes now also in the ot…
valassi Jul 26, 2024
46e684d
[pptt] in tmad/madX.sh, remove extra debugging for reset cumulative v…
valassi Jul 26, 2024
6600e60
[pptt] rerun manual tmad test for pptt with improved scripts, all loo…
valassi Jul 26, 2024
4bef3cb
[pptt] regenerate pp_tt012j.mad with fixes for #872
valassi Jul 26, 2024
b4b242d
[pptt] temporarely add the pptt012j tmad log, to show that #872 is fi…
valassi Jul 26, 2024
9a656c2
[pptt] remove the pptt012j tmad log
valassi Jul 26, 2024
e2bea20
[pptt] in CODEGEN/allGenerateAndCompare.sh, add pp_tt.mad to the list…
valassi Jul 26, 2024
d7adeb6
[pptt] remove gg_tt01g.mad from the repo, this is essentially not bei…
valassi Jul 26, 2024
aeeae77
[pptt] in tmad/allTees.sh, add the pptt mad test for #872
valassi Jul 26, 2024
0309427
[pptt] in .github/workflows/testsuite_allprocesses.yml, add pptt to t…
valassi Jul 26, 2024
9e890a6
[pptt] in .github/workflows/testsuite_oneprocess.sh, remove #872 xsec…
valassi Jul 26, 2024
d8e4b4b
[pptt] remove tmad/logs_qqtt_mad from the repo
valassi Jul 26, 2024
13c982d
[pptt] remove qq_tt.mad from the repo
valassi Jul 26, 2024
eeeea7c
[pptt] regenerate all processes with the fix for #872
valassi Jul 26, 2024
8124289
[pptt] rerun pptt tmad tests for all three fptype modes, add logs to …
valassi Jul 26, 2024
7a9b34b
[pptt] improve tmad/madX.sh to parse both occurrences of NGOODHEL (#8…
valassi Jul 29, 2024
e2eeb5e
[pptt] move to CODEGEN logs from the latest upstream/master for easie…
valassi Jul 29, 2024
8058b2c
[pptt] temporarely remove pp_tt.mad/CODEGEN_mad_pp_tt_log.txt from th…
valassi Jul 29, 2024
5fc881c
[pptt] temporarely add gg_tt01g.mad/CODEGEN_mad_gg_tt01g_log.txt to t…
valassi Jul 29, 2024
96b4601
Merge remote-tracking branch 'upstream/master' (including couplings o…
valassi Jul 29, 2024
6799287
[pptt] add back pp_tt.mad/CODEGEN_mad_pp_tt_log.txt and remove back g…
valassi Jul 29, 2024
5038342
[pptt] regenerate all processes after merging upstream/master - no ch…
valassi Jul 29, 2024
d1b0409
[pptt] rerun 102 tput tests on itscrd90 - all ok
valassi Jul 30, 2024
1e43794
[pptt] rerun 33 (now including pptt) tmad tests on itscrd90 - all as …
valassi Jul 30, 2024
681f6ac
[pptt] in pp_tt.mad (and then gg_tt.mad) matrix1.f, add a sanity chec…
valassi Jul 31, 2024
77f13ee
[pptt] in CODEGEN (backport pp_tt.mad via gg_tt.mad) matrix1.f, add a…
valassi Jul 31, 2024
fad2c9a
[pptt] regenerate gg_tt.mad, check all is ok
valassi Jul 31, 2024
32707dc
[pptt] regenerate pp_tt012j with the sanity check that the helicities…
valassi Jul 31, 2024
ddcb2df
[pptt] regenerate all processes with the sanity check that the helici…
valassi Jul 31, 2024
fa2bb27
[pptt] rerun 102 tput tests on itscrd90 - all ok
valassi Aug 2, 2024
009d19a
[pptt] rerun 33 tmad tests on itscrd90 (including sanity check mirror…
valassi Aug 2, 2024
ca4688f
[pptt] move to CODEGEN logs from the latest upstream/master for easie…
valassi Aug 2, 2024
4c978bc
Merge remote-tracking branch 'upstream/master' (including PR #949 fix…
valassi Aug 2, 2024
9154177
[pptt] regenerate all processes
valassi Aug 2, 2024
f56609b
Merge remote-tracking branch 'upstream/master' (including clang-forma…
valassi Aug 10, 2024
f573a69
[pptt] move to tput/tmad logs from the latest upstream/master for eas…
valassi Aug 21, 2024
34a8b9e
[pptt] move to codegen logs from the latest upstream/master for easie…
valassi Aug 21, 2024
bca3215
[pptt] move to all generated processes from upstream/master, except g…
valassi Aug 21, 2024
4fe1a55
[pptt] in CODEGEN/allGenerateAndCompare.sh add back gg_tt01g.mad to e…
valassi Aug 21, 2024
17462a7
[pptt] "temporarely" (till there are no more PRs?) add back gg_tt01g.…
valassi Aug 21, 2024
0a4306d
[pptt] move back to all generated processes (now including gg_tt01g.m…
valassi Aug 21, 2024
99d5499
Merge remote-tracking branch 'upstream/master' (with hel #960, mac #9…
valassi Aug 21, 2024
531aeee
[pptt] in gg_tt.mad, fix a mistake I made in fixing merge conflicts w…
valassi Aug 21, 2024
9cdcb54
[pptt] regenerate CODEGEN patch from gg_tt.mad after merging upstream…
valassi Aug 21, 2024
7e5690c
[pptt] regenerate gg_tt.mad, check all ok
valassi Aug 21, 2024
fbd4edf
[pptt] regenerate all processes after merging upstream/master
valassi Aug 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/testsuite_allprocesses.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
fail-fast: false # important to see all results even if one fails (fail-fast is true by default)
matrix:
# FIXME? Can the list of supported processes be specified only once in oneprocess.yml or allprocesses.yml?
process: [ee_mumu, gg_tt, gg_ttg, gg_ttgg, gg_ttggg, gg_tt01g, gq_ttq, pp_tt012j, nobm_pp_ttW, susy_gg_tt, susy_gg_t1t1, smeft_gg_tttt, heft_gg_bb]
process: [ee_mumu, gg_tt, gg_ttg, gg_ttgg, gg_ttggg, gq_ttq, pp_tt, pp_tt012j, nobm_pp_ttW, susy_gg_tt, susy_gg_t1t1, smeft_gg_tttt, heft_gg_bb]
suffix: [mad, sa]
uses: ./.github/workflows/testsuite_oneprocess.yml
with:
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/testsuite_oneprocess.sh
Original file line number Diff line number Diff line change
Expand Up @@ -564,8 +564,6 @@ if [ $BYPASS_KNOWN_ISSUES -eq 1 ] && [ $status -ne 0 ]; then
if [ "$stage" == "tmad_test" ]; then
# No cross section in susy_gg_t1t1 (#826)
if [ "${proc%.mad}" == "susy_gg_t1t1" ]; then bypassIssue "No cross section in ${proc%.mad} for FPTYPE=d,f,m (#826)"; fi
# Cross section mismatch in pp_tt012j for P2_gu_ttxgu (#872)
if [ "${proc%.mad}" == "pp_tt012j" ]; then bypassIssue "Cross section mismatch for P2_gu_ttxgu in ${proc%.mad} for FPTYPE=d,f,m (#856)"; fi
# Final printout
if [ $status -ne 0 ]; then echo "[testsuite_oneprocess.sh] $stage ($proc) FPTYPE=${FPTYPE}: issue will not be bypassed, test has FAILED"; fi
fi
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
diff --git b/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/auto_dsig1.f a/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/auto_dsig1.f
index 4fbb8e6ba..d5accb9fb 100644
index 4fbb8e6ba..76399fb60 100644
--- b/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/auto_dsig1.f
+++ a/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/auto_dsig1.f
@@ -484,23 +484,142 @@ C
@@ -484,23 +484,150 @@ C
INTEGER VECSIZE_USED

INTEGER IVEC
Expand Down Expand Up @@ -33,11 +33,14 @@ index 4fbb8e6ba..d5accb9fb 100644
+ INTEGER*4 NWARNINGS
+ SAVE NWARNINGS
+ DATA NWARNINGS/0/
+
+ LOGICAL FIRST
+
+ INTEGER IMIRROR, IPROC
+ COMMON/TO_MIRROR/IMIRROR, IPROC
+
+ LOGICAL FIRST(2)
+ SAVE FIRST
+ DATA FIRST/.TRUE./
+
+ DATA FIRST/.TRUE., .TRUE./
+
+ IF( FBRIDGE_MODE .LE. 0 ) THEN ! (FortranOnly=0 or BothQuiet=-1 or BothDebug=-2)
+#endif
+ call counters_smatrix1multi_start( -1, VECSIZE_USED ) ! fortranMEs=-1
Expand Down Expand Up @@ -76,13 +79,17 @@ index 4fbb8e6ba..d5accb9fb 100644
+ WRITE(6,*) 'ERROR! The cudacpp bridge only supports LIMHEL=0'
+ STOP
+ ENDIF
+ IF ( FIRST ) THEN ! exclude first pass (helicity filtering) from timers (#461)
+ IF ( FIRST(IMIRROR) ) THEN ! exclude first pass (helicity filtering) from timers (#461)
+ call counters_smatrix1multi_start( 1, VECSIZE_USED ) ! cudacppHEL=1
+ CALL FBRIDGESEQUENCE_NOMULTICHANNEL( FBRIDGE_PBRIDGE, ! multi channel disabled for helicity filtering
+ & P_MULTI, ALL_G, HEL_RAND, COL_RAND, OUT2,
+ & SELECTED_HEL2, SELECTED_COL2, .TRUE.) ! quit after computing helicities
+ FIRST = .FALSE.
+c ! This is a workaround for https://github.com/oliviermattelaer/mg5amc_test/issues/22 (see PR #486)
+c Compute helicities only for the first IMIRROR in cudacpp (see #872) - NB this may be IMIRROR=2!?
+ IF( FIRST(1) .AND. FIRST(2) ) THEN
+ CALL FBRIDGESEQUENCE_NOMULTICHANNEL( FBRIDGE_PBRIDGE, ! multi channel disabled for helicity filtering
+ & P_MULTI, ALL_G, HEL_RAND, COL_RAND, OUT2,
+ & SELECTED_HEL2, SELECTED_COL2, .TRUE.) ! quit after computing helicities
+ ENDIF
+ FIRST(IMIRROR) = .FALSE.
+c ... But do call reset_cumulative_variable also for the second IMIRROR in cudacpp (FIX #872)
+c This is a workaround for https://github.com/oliviermattelaer/mg5amc_test/issues/22 (see PR #486)
+ IF( FBRIDGE_MODE .EQ. 1 ) THEN ! (CppOnly=1 : SMATRIX1 is not called at all)
+ CALL RESET_CUMULATIVE_VARIABLE() ! mimic 'avoid bias of the initialization' within SMATRIX1
+ ENDIF
Expand All @@ -92,6 +99,7 @@ index 4fbb8e6ba..d5accb9fb 100644
+ & ' in total number of helicities', NTOTHEL, NCOMB
+ STOP
+ ENDIF
+ WRITE (6,*) 'IMIRROR =', IMIRROR
+ WRITE (6,*) 'NGOODHEL =', NGOODHEL
+ WRITE (6,*) 'NCOMB =', NCOMB
+ call counters_smatrix1multi_stop( 1 ) ! cudacppHEL=1
Expand Down Expand Up @@ -286,7 +294,7 @@ index 1124a9164..27a6e4674 100644
open(unit=lun,file=tempname,status='old',ERR=20)
fopened=.true.
diff --git b/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/matrix1.f a/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/matrix1.f
index e73e654d4..3072054f2 100644
index e73e654d4..22ed9a98a 100644
--- b/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/matrix1.f
+++ a/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/matrix1.f
@@ -72,7 +72,10 @@ C
Expand All @@ -301,7 +309,7 @@ index e73e654d4..3072054f2 100644
C
C This is just to temporarily store the reference grid for
C helicity of the DiscreteSampler so as to obtain its number of
@@ -217,6 +220,17 @@ C ----------
@@ -217,6 +220,36 @@ C ----------
ENDIF
IF(NTRY(IMIRROR).EQ.MAXTRIES)THEN
ISHEL(IMIRROR)=MIN(ISUM_HEL,NGOOD(IMIRROR))
Expand All @@ -313,8 +321,27 @@ index e73e654d4..3072054f2 100644
+ NGOODHEL(IMIRROR)=NGOODHEL(IMIRROR)+1
+ ENDIF
+ END DO
+ WRITE (6,*) 'NGOODHEL =', NGOODHEL(IMIRROR) ! no need to print imirror?
+ WRITE (6,*) 'IMIRROR =', IMIRROR
+ WRITE (6,*) 'NGOODHEL =', NGOODHEL(IMIRROR)
+ WRITE (6,*) 'NCOMB =', NCOMB
+C SANITY CHECK: check that the two lists of good helicities are identical
+C (see madgraph4gpu #872, #935, #941)
+ IF (NGOODHEL(1).NE.-1 .AND. NGOODHEL(2).NE.-1) THEN
+ IF (NGOODHEL(1) .NE. NGOODHEL(2)) THEN
+ WRITE (6,*) 'ERROR! IMIRROR=1,2 mismatch for NGOODHEL',
+ $ NGOODHEL(1), NGOODHEL(2)
+ STOP
+ ENDIF
+ DO I=1,NCOMB
+ IF (GOODHEL(I,1) .NEQV. GOODHEL(I,2)) THEN
+ WRITE (6,*) 'ERROR! IMIRROR=1,2 mismatch for GOODHEL',
+ $ I, GOODHEL(I,1), GOODHEL(I,2)
+ STOP
+ ENDIF
+ END DO
+ WRITE (6,*) 'Helicity lists from IMIRROR=1,2 match',
+ $ NGOODHEL(1), NGOODHEL(2)
+ ENDIF
+ ENDIF
ENDIF
ENDIF
Expand Down
4 changes: 3 additions & 1 deletion epochX/cudacpp/CODEGEN/allGenerateAndCompare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ cd $(dirname $0)/..
./CODEGEN/generateAndCompare.sh -q smeft_gg_tttt
./CODEGEN/generateAndCompare.sh -q smeft_gg_tttt --mad

./CODEGEN/generateAndCompare.sh -q gg_tt01g --mad
./CODEGEN/generateAndCompare.sh -q pp_tt --mad

./CODEGEN/generateAndCompare.sh -q pp_tt012j --mad

./CODEGEN/generateAndCompare.sh -q gg_tt01g --mad
14 changes: 14 additions & 0 deletions epochX/cudacpp/CODEGEN/generateAndCompare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,17 @@ function codeGenAndDiff()
gq_ttllq)
cmd="define q = u c d s u~ c~ d~ s~; generate g q > t t~ l- l+ q"
;;
gu_ttgu) # debug #872 in pp_tt012j
cmd="generate g u > t t~ g u"
;;
gq_ttgq) # debug #872 in pp_tt012j
###cmd="define q = u c d s u~ c~ d~ s~; generate g q > t t~ g q"
cmd="define q = u c d s; generate g q > t t~ g q"
;;
pp_ttjj)
cmd="define j = p;
generate p p > t t~ j j"
;;
pp_tt)
cmd="generate p p > t t~"
;;
Expand Down Expand Up @@ -84,6 +95,9 @@ function codeGenAndDiff()
uu_ttg)
cmd="generate u u~ > t t~ g"
;;
qq_tt)
cmd="define q = u c d s; define q~ = u~ c~ d~ s~; generate q q~ > t t~"
;;
bb_tt)
cmd="generate b b~ > t t~"
;;
Expand Down
20 changes: 9 additions & 11 deletions epochX/cudacpp/ee_mumu.mad/CODEGEN_mad_ee_mumu_log.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ generate e+ e- > mu+ mu-
No model currently active, so we import the Standard Model
INFO: load particles
INFO: load vertices
DEBUG: model prefixing takes 0.005307912826538086 
DEBUG: model prefixing takes 0.005699634552001953 
INFO: Restrict model sm with file models/sm/restrict_default.dat .
DEBUG: Simplifying conditional expressions 
DEBUG: remove interactions: u s w+ at order: QED=1 
Expand Down Expand Up @@ -177,7 +177,7 @@ INFO: Generating Helas calls for process: e+ e- > mu+ mu- WEIGHTED<=4 @1
INFO: Processing color information for process: e+ e- > mu+ mu- @1
INFO: Creating files in directory P1_epem_mupmum
DEBUG: kwargs[prefix] = 0 [model_handling.py at line 1152] 
DEBUG: process_exporter_cpp =  <PLUGIN.CUDACPP_OUTPUT.model_handling.PLUGIN_OneProcessExporter object at 0x7f09ed66e490> [export_v4.py at line 6261] 
DEBUG: process_exporter_cpp =  <PLUGIN.CUDACPP_OUTPUT.model_handling.PLUGIN_OneProcessExporter object at 0x7fa708e404c0> [export_v4.py at line 6261] 
INFO: Creating files in directory .
FileWriter <class 'PLUGIN.CUDACPP_OUTPUT.model_handling.PLUGIN_CPPWriter'> for ././CPPProcess.h
FileWriter <class 'PLUGIN.CUDACPP_OUTPUT.model_handling.PLUGIN_CPPWriter'> for ././CPPProcess.cc
Expand All @@ -198,18 +198,18 @@ INFO: Finding symmetric diagrams for subprocess group epem_mupmum
DEBUG: iconfig_to_diag =  {1: 1, 2: 2} [model_handling.py at line 1544] 
DEBUG: diag_to_iconfig =  {1: 1, 2: 2} [model_handling.py at line 1545] 
Generated helas calls for 1 subprocesses (2 diagrams) in 0.004 s
Wrote files for 8 helas calls in 0.112 s
Wrote files for 8 helas calls in 0.114 s
ALOHA: aloha starts to compute helicity amplitudes
ALOHA: aloha creates FFV1 routines
ALOHA: aloha creates FFV2 routines
ALOHA: aloha creates FFV4 routines
ALOHA: aloha creates 3 routines in 0.198 s
ALOHA: aloha creates 3 routines in 0.200 s
ALOHA: aloha starts to compute helicity amplitudes
ALOHA: aloha creates FFV1 routines
ALOHA: aloha creates FFV2 routines
ALOHA: aloha creates FFV4 routines
ALOHA: aloha creates FFV2_4 routines
ALOHA: aloha creates 7 routines in 0.253 s
ALOHA: aloha creates 7 routines in 0.258 s
<class 'aloha.create_aloha.AbstractRoutine'> FFV1
<class 'aloha.create_aloha.AbstractRoutine'> FFV1
<class 'aloha.create_aloha.AbstractRoutine'> FFV2
Expand Down Expand Up @@ -242,19 +242,17 @@ patching file auto_dsig1.f
Hunk #1 succeeded at 496 (offset 12 lines).
patching file driver.f
patching file matrix1.f
Hunk #3 succeeded at 230 (offset 9 lines).
Hunk #4 succeeded at 267 (offset 18 lines).
Hunk #5 succeeded at 312 (offset 18 lines).
Hunk #2 succeeded at 229 (offset 9 lines).
DEBUG: p.returncode =  0 [output.py at line 242] 
Output to directory /data/avalassi/GPU2023/madgraph4gpuX/MG5aMC/TMPOUT/CODEGEN_mad_ee_mumu done.
Type "launch" to generate events from this process, or see
/data/avalassi/GPU2023/madgraph4gpuX/MG5aMC/TMPOUT/CODEGEN_mad_ee_mumu/README
Run "open index.html" to see more information about this process.
quit

real 0m2.067s
user 0m1.807s
sys 0m0.251s
real 0m2.073s
user 0m1.812s
sys 0m0.252s
Code generation completed in 2 seconds
************************************************************
* *
Expand Down
28 changes: 18 additions & 10 deletions epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum/auto_dsig1.f
Original file line number Diff line number Diff line change
Expand Up @@ -521,11 +521,14 @@ SUBROUTINE SMATRIX1_MULTI(P_MULTI, HEL_RAND, COL_RAND, CHANNEL,
INTEGER*4 NWARNINGS
SAVE NWARNINGS
DATA NWARNINGS/0/

LOGICAL FIRST

INTEGER IMIRROR, IPROC
COMMON/TO_MIRROR/IMIRROR, IPROC

LOGICAL FIRST(2)
SAVE FIRST
DATA FIRST/.TRUE./
DATA FIRST/.TRUE., .TRUE./

IF( FBRIDGE_MODE .LE. 0 ) THEN ! (FortranOnly=0 or BothQuiet=-1 or BothDebug=-2)
#endif
call counters_smatrix1multi_start( -1, VECSIZE_USED ) ! fortranMEs=-1
Expand Down Expand Up @@ -553,13 +556,17 @@ SUBROUTINE SMATRIX1_MULTI(P_MULTI, HEL_RAND, COL_RAND, CHANNEL,
WRITE(6,*) 'ERROR! The cudacpp bridge only supports LIMHEL=0'
STOP
ENDIF
IF ( FIRST ) THEN ! exclude first pass (helicity filtering) from timers (#461)
IF ( FIRST(IMIRROR) ) THEN ! exclude first pass (helicity filtering) from timers (#461)
call counters_smatrix1multi_start( 1, VECSIZE_USED ) ! cudacppHEL=1
CALL FBRIDGESEQUENCE_NOMULTICHANNEL( FBRIDGE_PBRIDGE, ! multi channel disabled for helicity filtering
& P_MULTI, ALL_G, HEL_RAND, COL_RAND, OUT2,
& SELECTED_HEL2, SELECTED_COL2, .TRUE.) ! quit after computing helicities
FIRST = .FALSE.
c ! This is a workaround for https://github.com/oliviermattelaer/mg5amc_test/issues/22 (see PR #486)
c Compute helicities only for the first IMIRROR in cudacpp (see #872) - NB this may be IMIRROR=2!?
IF( FIRST(1) .AND. FIRST(2) ) THEN
CALL FBRIDGESEQUENCE_NOMULTICHANNEL( FBRIDGE_PBRIDGE, ! multi channel disabled for helicity filtering
& P_MULTI, ALL_G, HEL_RAND, COL_RAND, OUT2,
& SELECTED_HEL2, SELECTED_COL2, .TRUE.) ! quit after computing helicities
ENDIF
FIRST(IMIRROR) = .FALSE.
c ... But do call reset_cumulative_variable also for the second IMIRROR in cudacpp (FIX #872)
c This is a workaround for https://github.com/oliviermattelaer/mg5amc_test/issues/22 (see PR #486)
IF( FBRIDGE_MODE .EQ. 1 ) THEN ! (CppOnly=1 : SMATRIX1 is not called at all)
CALL RESET_CUMULATIVE_VARIABLE() ! mimic 'avoid bias of the initialization' within SMATRIX1
ENDIF
Expand All @@ -569,6 +576,7 @@ SUBROUTINE SMATRIX1_MULTI(P_MULTI, HEL_RAND, COL_RAND, CHANNEL,
& ' in total number of helicities', NTOTHEL, NCOMB
STOP
ENDIF
WRITE (6,*) 'IMIRROR =', IMIRROR
WRITE (6,*) 'NGOODHEL =', NGOODHEL
WRITE (6,*) 'NCOMB =', NCOMB
call counters_smatrix1multi_stop( 1 ) ! cudacppHEL=1
Expand Down
21 changes: 20 additions & 1 deletion epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum/matrix1.f
Original file line number Diff line number Diff line change
Expand Up @@ -237,8 +237,27 @@ SUBROUTINE SMATRIX1(P, RHEL, RCOL, CHANNEL, IVEC, ANS, IHEL,
NGOODHEL(IMIRROR)=NGOODHEL(IMIRROR)+1
ENDIF
END DO
WRITE (6,*) 'NGOODHEL =', NGOODHEL(IMIRROR) ! no need to print imirror?
WRITE (6,*) 'IMIRROR =', IMIRROR
WRITE (6,*) 'NGOODHEL =', NGOODHEL(IMIRROR)
WRITE (6,*) 'NCOMB =', NCOMB
C SANITY CHECK: check that the two lists of good helicities are identical
C (see madgraph4gpu #872, #935, #941)
IF (NGOODHEL(1).NE.-1 .AND. NGOODHEL(2).NE.-1) THEN
IF (NGOODHEL(1) .NE. NGOODHEL(2)) THEN
WRITE (6,*) 'ERROR! IMIRROR=1,2 mismatch for NGOODHEL',
$ NGOODHEL(1), NGOODHEL(2)
STOP
ENDIF
DO I=1,NCOMB
IF (GOODHEL(I,1) .NEQV. GOODHEL(I,2)) THEN
WRITE (6,*) 'ERROR! IMIRROR=1,2 mismatch for GOODHEL',
$ I, GOODHEL(I,1), GOODHEL(I,2)
STOP
ENDIF
END DO
WRITE (6,*) 'Helicity lists from IMIRROR=1,2 match',
$ NGOODHEL(1), NGOODHEL(2)
ENDIF
ENDIF
ENDIF
ENDIF
Expand Down
14 changes: 7 additions & 7 deletions epochX/cudacpp/ee_mumu.sa/CODEGEN_cudacpp_ee_mumu_log.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ generate e+ e- > mu+ mu-
No model currently active, so we import the Standard Model
INFO: load particles
INFO: load vertices
DEBUG: model prefixing takes 0.005346059799194336 
DEBUG: model prefixing takes 0.005265474319458008 
INFO: Restrict model sm with file models/sm/restrict_default.dat .
DEBUG: Simplifying conditional expressions 
DEBUG: remove interactions: u s w+ at order: QED=1 
Expand Down Expand Up @@ -154,7 +154,7 @@ INFO: Checking for minimal orders which gives processes.
INFO: Please specify coupling orders to bypass this step.
INFO: Trying process: e+ e- > mu+ mu- WEIGHTED<=4 @1
INFO: Process has 2 diagrams
1 processes with 2 diagrams generated in 0.004 s
1 processes with 2 diagrams generated in 0.005 s
Total: 1 processes with 2 diagrams
output standalone_cudacpp ../TMPOUT/CODEGEN_cudacpp_ee_mumu
Load PLUGIN.CUDACPP_OUTPUT
Expand All @@ -177,13 +177,13 @@ INFO: Creating files in directory /data/avalassi/GPU2023/madgraph4gpuX/MG5aMC/TM
FileWriter <class 'PLUGIN.CUDACPP_OUTPUT.model_handling.PLUGIN_CPPWriter'> for /data/avalassi/GPU2023/madgraph4gpuX/MG5aMC/TMPOUT/CODEGEN_cudacpp_ee_mumu/SubProcesses/P1_Sigma_sm_epem_mupmum/./CPPProcess.h
FileWriter <class 'PLUGIN.CUDACPP_OUTPUT.model_handling.PLUGIN_CPPWriter'> for /data/avalassi/GPU2023/madgraph4gpuX/MG5aMC/TMPOUT/CODEGEN_cudacpp_ee_mumu/SubProcesses/P1_Sigma_sm_epem_mupmum/./CPPProcess.cc
INFO: Created files CPPProcess.h and CPPProcess.cc in directory /data/avalassi/GPU2023/madgraph4gpuX/MG5aMC/TMPOUT/CODEGEN_cudacpp_ee_mumu/SubProcesses/P1_Sigma_sm_epem_mupmum/.
Generated helas calls for 1 subprocesses (2 diagrams) in 0.003 s
Generated helas calls for 1 subprocesses (2 diagrams) in 0.004 s
ALOHA: aloha starts to compute helicity amplitudes
ALOHA: aloha creates FFV1 routines
ALOHA: aloha creates FFV2 routines
ALOHA: aloha creates FFV4 routines
ALOHA: aloha creates FFV2_4 routines
ALOHA: aloha creates 4 routines in 0.264 s
ALOHA: aloha creates 4 routines in 0.274 s
<class 'aloha.create_aloha.AbstractRoutine'> FFV1
<class 'aloha.create_aloha.AbstractRoutine'> FFV1
<class 'aloha.create_aloha.AbstractRoutine'> FFV2
Expand All @@ -202,7 +202,7 @@ INFO: Created files Parameters_sm.h and Parameters_sm.cc in directory
INFO: /data/avalassi/GPU2023/madgraph4gpuX/MG5aMC/TMPOUT/CODEGEN_cudacpp_ee_mumu/src/. and /data/avalassi/GPU2023/madgraph4gpuX/MG5aMC/TMPOUT/CODEGEN_cudacpp_ee_mumu/src/.
quit

real 0m0.647s
user 0m0.592s
sys 0m0.048s
real 0m0.674s
user 0m0.603s
sys 0m0.059s
Code generation completed in 1 seconds
Loading
Loading