Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
398 commits
Select commit Hold shift + click to select a range
b285310
[hack_ihel4p2] regenerate all processes with 100 diagrams/kernel and …
valassi Oct 19, 2025
ef84777
[hack_ihel4p2] comprehensive changes of tput and tmad scripts
valassi Oct 19, 2025
d6144e4
[hack_ihel4p2] run 162 tput tests on itscrd90 (100 diagrams/kernel, n…
valassi Oct 20, 2025
cfe071e
[hack_ihel4p2] run 30 tmad tests on itscrd90 (100 diagrams/kernel, ne…
valassi Oct 20, 2025
844b7c2
[hack_ihel4p2] in CODEGEN, move to 2000 diagrams per kernel (this wil…
valassi Oct 20, 2025
65b6427
[hack_ihel4p2] regenerate all processes with 2000 diagrams per kernel…
valassi Oct 20, 2025
1d6bdc3
[hack_ihel4p2] run 30 tmad tests on itscrd90 (100 -> 2000 diagrams/ke…
valassi Oct 20, 2025
48fed45
[hack_ihel4p2] run 162 tput tests on itscrd90 (100 -> 2000 diagrams/k…
valassi Oct 20, 2025
ee52e5c
[hack_ihel4p2] ignore perf.data* in epochX/cudacpp/.gitignore
valassi Oct 20, 2025
4f6f0a4
[hack_ihel4p2_ggtt4g] in CODEGEN (backport gg_ttgggg.mad), create ref…
valassi Oct 20, 2025
06c42ef
[hack_ihel4p3] in gg_tt.mad, update a local jamp_sv in the kernel and…
valassi Oct 20, 2025
3c3d074
[hack_ihel4p3] in gg_tt.mad, further simplify writing to jamp_sv also…
valassi Oct 20, 2025
4e17bd3
[hack_ihel4p3] in gg_tt.mad, further simplify C++ jamp_sv: remove Hos…
valassi Oct 20, 2025
0085d3e
[hack_ihel4p3] in CODEGEN (gg_tt.mad backport), update jamp_sv in ker…
valassi Oct 20, 2025
9ed9d47
[hack_ihel4p3] regenerate all processes after going back to local jam…
valassi Oct 20, 2025
9193bc7
[hack_ihel4p3] run 162 tput tests on itscrd90 (local jamp_sv, 2000 di…
valassi Oct 21, 2025
a468105
[hack_ihel4p3] run 30 tmad tests on itscrd90 (local jamp_sv, 2000 dia…
valassi Oct 21, 2025
317a9a1
[hack_ihel5] in CODEGEN, move back to 5 diagrams per kernel for tests
valassi Oct 20, 2025
ebc9b49
[hack_ihel5] regenerate gg_ttg.mad with 5 diagrams per kernel
valassi Oct 20, 2025
14b641a
[hack_ihel5] ggttg: cudacpp.mk for diagrams.cc
valassi Oct 20, 2025
f31a21a
[hack_ihel5] ggttg: git mv diagrams.h diagrams.cc
valassi Oct 20, 2025
f32c5cc
[hack_ihel5] ggttg: git add (bare) diagrams.h
valassi Oct 20, 2025
087d36d
[hack_ihel5] ggttg: in CPPProcess.cc move diagram.h higher up and rem…
valassi Oct 20, 2025
3fea308
[hack_ihel5] ggttg: in diagrams.cc add headers and {}
valassi Oct 20, 2025
ab75a47
[hack_ihel5] ggttg: move gpu_diagrams from CPPProcess.cc to diagrams.…
valassi Oct 20, 2025
9d70fbf
[hack_ihel5] ggttg: in diagrams.cc add nwf, nw6, ncolor, nicoup, ndcoup
valassi Oct 20, 2025
3987c96
[hack_ihel5] ggttg: move nIPC and nIPD out of CPPProcess.cc and into …
valassi Oct 20, 2025
f29f969
[hack_ihel5] ggttg: in diagrams.cc add NIPC and nIPD from CPPProcess.h
valassi Oct 20, 2025
0cfe850
[hack_ihel5] ggttg: in diagrams.cc declare cIPC, cIPD and cHel as 'ex…
valassi Oct 20, 2025
f3e87bd
[hack_ihel5] ggttg: add cIPC/cIPD/cHel as func arguments from gpuSymb…
valassi Oct 21, 2025
23081aa
[hack_ihel5] ggttg: fix cIPC/cIPD/cHel for cuda hrdcod=1
valassi Oct 21, 2025
73e735b
[hack_ihel5] ggttg: fix cIPC/cIPD/cHel for c++ hrdcod=1 - now all ok
valassi Oct 21, 2025
ea0886d
[hack_ihel5] CODEGEN: cudacpp.mk for diagrams.cc
valassi Oct 21, 2025
33f3dd7
[hack_ihel5] CODEGEN: in model_handling.py, prepare the skeleton to w…
valassi Oct 21, 2025
7eaf35b
[hack_ihel5] CODEGEN: complete ggttg backport of diagrams.cc/h except…
valassi Oct 21, 2025
2fa18bc
[hack_ihel5] CODEGEN: complete ggttg backport of diagrams.cc/h includ…
valassi Oct 22, 2025
d559ea0
[hack_ihel5] eemumu: regenerate eemumu
valassi Oct 22, 2025
d313456
[hack_ihel5] eemumu: fix cIPC/cIPD/cHel for cuda hrdcod=0
valassi Oct 22, 2025
85d007c
[hack_ihel5] eemumu: fix cIPC/cIPD/cHel for cuda hrdcod=1
valassi Oct 22, 2025
0b421ae
[hack_ihel5] CODEGEN: complete eemumu backport of cIPC/cIPD/cHel for …
valassi Oct 22, 2025
78c9d02
[hack_ihel5] CODEGEN: backport susy_ggt1t1 - remove hardcoded SM and …
valassi Oct 22, 2025
213e820
[hack_ihel5] susy_ggt1t1: regenerate susy_gg_t1t1.mad (now including …
valassi Oct 22, 2025
f7c339b
[hack_ihel5] ggttg: regenerate gg_ttg.mad with the latest eemumu/susy…
valassi Oct 22, 2025
fa5e16d
[hack_ihel5] ggttg towards many diagramsN.cc: rename diagrams.cc as d…
valassi Oct 22, 2025
a361368
[hack_ihel5] ggttg: rename diagram_boilerplate.h as diagrams_boilerpl…
valassi Oct 22, 2025
200b473
[hack_ihel5] CODEGEN: rename diagram_boilerplate.h as diagrams_boiler…
valassi Oct 22, 2025
1d55644
[hack_ihel5] CODEGEN towards many diagramsN.cc: rename diagrams.cc as…
valassi Oct 22, 2025
896748c
[hack_ihel5] all processes: rename diagram_boilerplate.h as diagrams_…
valassi Oct 22, 2025
d2fc600
[hack_ihel5] ggttg: regenerate gg_ttg.mad with the changes in diagram…
valassi Oct 22, 2025
091323b
[hack_ihel5] ggttg: fix cudacpp.mk for many diagrams1/2/3/4.cc
valassi Oct 22, 2025
fece5c1
[hack_ihel5] CODEGEN (complete with one diagrams.h and one diagrams1.…
valassi Oct 22, 2025
75860c9
[hack_ihel5] ** COMPLETE FIRST STEP OF HACK_IHEL5 ** regenerate all p…
valassi Oct 22, 2025
672df09
[hack_ihel5] ggttg: split diagrams1.cc (all diagramgroups) into diagr…
valassi Oct 22, 2025
ff4570c
[hack_ihel5] CODEGEN: split code into many files diagrams1/2/3/4.cc w…
valassi Oct 22, 2025
ed7e59f
[hack_ihel5] ggttg: fix build warning about npar and move all constex…
valassi Oct 22, 2025
8f02a54
[hack_ihel5] CODEGEN: backport ggttg, fix npar build warning and move…
valassi Oct 22, 2025
e942789
[hack_ihel5] CODEGEN: bug fix for BSM, diagrams_header.h is now model…
valassi Oct 23, 2025
2ffe1ee
[hack_ihel5] CODEGEN: rename DIAGRAMS_PER_GROUP as MAX_DIAGRAMS_PER_G…
valassi Oct 22, 2025
0e3a658
[hack_ihel5] CODEGEN: add MIN_DIAGRAMS_PER_FILE (set this to 10 for t…
valassi Oct 23, 2025
08bf800
[hack_ihel5] CODEGEN: move to 100 MAX_DIAGRAMS_PER_GROUP (and also 10…
valassi Oct 23, 2025
61f9e17
[hack_ihel5] regenerate all processes with 100 diagrams per kernel (g…
valassi Oct 23, 2025
e6bee07
[hack_ihel5] run 162 tput tests on itscrd90 (many diagrams.cc, local …
valassi Oct 24, 2025
845e871
[hack_ihel5] run 30 tmad tests on itscrd90 (many diagrams.cc, local j…
valassi Oct 24, 2025
3df7299
[hack_ihel5] CODEGEN: move to 2000 MAX_DIAGRAMS_PER_GROUP (and also 2…
valassi Oct 24, 2025
dc5ea15
[hack_ihel5] ggttggg: regenerate ggttggg with 2000 diagrams per kerne…
valassi Oct 24, 2025
965239d
[hack_ihel5] ggttggg: move to local jamp_sv also in C++, this is enou…
valassi Oct 24, 2025
1bc5920
[hack_ihel5] ggttggg: cleanup in diagrams_boilerplate.h after moving …
valassi Oct 24, 2025
918449e
[hack_ihel5] CODEGEN: (ggttggg backport) move to local jamp_sv also i…
valassi Oct 24, 2025
c2baf70
[hack_ihel5] ggttggg: regenerate ggttggg, all as expected (with some …
valassi Oct 24, 2025
1d15bdc
[hack_ihel5] regenerate all processes with 2000 diagrams per kernel a…
valassi Oct 24, 2025
8a7aac8
[hack_ihel5] rerun 162 tput tests on itscrd90 - all ok (no ggttggg/f …
valassi Oct 24, 2025
5ab1b89
[hack_ihel5] rerun 30 tmad tests on itscrd90 - all ok (no ggttggg/f f…
valassi Oct 24, 2025
b083cd4
[hack_ihel5] CODEGEN: move to 5 MAX_DIAGRAMS_PER_GROUP to test issues…
valassi Oct 24, 2025
2e4795f
[hack_ihel5] ggttg: regenerate ggttg with 5 diagrams per kernel, the …
valassi Oct 24, 2025
72a9687
[hack_ihel5] CODEGEN: bug fix for local jamp_sv in C++ (only affects …
valassi Oct 24, 2025
0784ac2
[hack_ihel5] ggttg: regenerate ggttg with 5 diagrams per kernel, buil…
valassi Oct 24, 2025
047be1b
[hack_ihel5] CODEGEN: bug fix for local jamp_sv in C++ (only affects …
valassi Oct 24, 2025
79aefc9
[hack_ihel5] ggttg: regenerate ggttg with 5 diagrams per kernel, runT…
valassi Oct 24, 2025
49a230b
[hack_ihel5] copy gg_tt.mad to gg_ttg.dpg5dpf5.mad (5 max diag per gr…
valassi Oct 24, 2025
a079620
[hack_ihel5] CODEGEN: hardcode 2000 MAX_DIAGRAMS_PER_GROUP and 100 MI…
valassi Oct 24, 2025
f6784f4
[hack_ihel5] CODEGEN scripts: add --maxdiagpergroup and --mindiagperf…
valassi Oct 24, 2025
c26eb41
[hack_ihel5] ggttg: regenerate gg_ttg.dpg5dpf5.mad (check that the ne…
valassi Oct 24, 2025
08cb4cc
[hack_ihel5] ggttg: regenerate ggttg.mad with the default 2000 diagra…
valassi Oct 24, 2025
85f7300
[hack_ihel5] CODEGEN scripts: add gg_ttg.dpg5dpf5.mad to allGenerateA…
valassi Oct 24, 2025
09e0962
[hack_ihel5] regenerate all processes with diagrams2.cc bug fix - no …
valassi Oct 24, 2025
c0db126
[hack_ihel5] tput scripts: add -ggttg5 option and add two tests to al…
valassi Oct 24, 2025
8284f96
[hack_ihel5] complete 164 tput logs on itscrd90: run 2 new tput tests…
valassi Oct 24, 2025
6057f14
[hack_ihel5] rerun 156 tput tests on LUMI - all ok, except that all t…
valassi Oct 25, 2025
bd4d936
[hack_ihel5] rerun 30 tmad tests on LUMI - looks good
valassi Oct 25, 2025
e95a9cf
[hack_ihel5] complete 164 tput logs on LUMI: run 2 new tput tests for…
valassi Oct 25, 2025
0382113
[hack_ihel5] go back from ihel5/LUMI to ihel5/rd90 test logs
valassi Oct 25, 2025
d8ff5c6
[hack_ihel5] CODEGEN: in CPPProcess.cc add a warning that HRDCOD=1 is…
valassi Oct 25, 2025
5f32032
[hack_ihel5] tput/throughputX.sh: skip HRDCOD=1 tests on HIP
valassi Oct 25, 2025
dd109d9
[hack_ihel3merged] rerun 138 tput tests on LUMI - all ok
valassi Oct 25, 2025
7a34714
[hack_ihel3merged] rerun 30 tmad tests on LUMI - all ok
valassi Oct 25, 2025
4652ac0
[hack_ihel3merged] go back from hack_ihel3_merged/LUMI to hack_ihel3p…
valassi Oct 25, 2025
3535082
[hack_ihel3merged] rerun 144 tput tests on itscrd90 - all ok
valassi Oct 25, 2025
29e46f4
[hack_ihel5] regenerate all processes (no change except for HIP/HRDCO…
valassi Oct 25, 2025
5074623
[hack_ihel5] ggttg: do not allocate a wavefunction buffer unless ndia…
valassi Oct 25, 2025
bdb1180
[hack_ihel5] CODEGEN: do not allocate a wavefunction buffer unless nd…
valassi Oct 25, 2025
9c9ac99
[hack_ihel5] ** COMPLETE HACK_IHEL5 ** regenerate all processes (do n…
valassi Oct 25, 2025
a20af3e
[hack_ihel3merged] ** COMPLETE HACK_IHEL3MERGED ** rerun 30 tmad test…
valassi Oct 25, 2025
e8918df
[hack_ihel5and3p1] ggtt: TMP change to ease cherry-pick 415b0d0c2 (re…
valassi Oct 26, 2025
9a6b71d
[hack_ihel3p1] in gg_tt.mad, move the helicity loop into color_sum_gp…
valassi Oct 10, 2025
e7eba4f
[hack_ihel5and3p1] ggtt: undo TMP change after cherry-pick 415b0d0c2 …
valassi Oct 26, 2025
cc18c24
[hack_ihel3p1] in gg_tt.mad, fix hasNoBlas after moving the helicity …
valassi Oct 10, 2025
2083b27
[hack_ihel3p1] in gg_tt.mad, further cleanup of color_sum_gpu
valassi Oct 10, 2025
38a6f21
[hack_ihel5and3p1] ggtt: TMP change to ease cherry-pick 112b9cf4c (un…
valassi Oct 26, 2025
d7a16b2
[hack_ihel5and3p1] ggtt: partial cherry-pick 112b9cf4c (commit the th…
valassi Oct 26, 2025
e425222
[hack_ihel5and3p1] ggtt: partial cherry-pick 112b9cf4c (fix conflicts…
valassi Oct 26, 2025
a097075
[hack_ihel5and3p1] ggtt: complete manual cherry-pick 112b9cf4c (fix c…
valassi Oct 26, 2025
6d83020
[hack_ihel5and3p1] ggtt: undo TMP change to ease cherry-pick 112b9cf4…
valassi Oct 26, 2025
8b97d98
[hack_ihel3p1] in gg_tt.mad, use a triangular matrix instead of a squ…
valassi Oct 11, 2025
b5bb396
[hack_ihel5and3p1] ggtt: cleanup (cherry-pick some changes from commi…
valassi Oct 26, 2025
0e991b2
[hack_ihel5and3p1] ** COMPLETE FIRST STEP OF HACK_IHEL5AND3P1 ** ggtt…
valassi Oct 26, 2025
d794c8c
[hack_ihel5and3p1] ggtt: fix a comment (cherry-pick a0328aa89 thanks …
valassi Oct 26, 2025
a6222a0
[hack_ihel5and3p1] ggtt: fix for no-multichannel (cherry-pick e0d061b…
valassi Oct 26, 2025
87e9b8a
Update epochX/cudacpp/CODEGEN/PLUGIN/CUDACPP_SA_OUTPUT/madgraph/iolib…
valassi Oct 13, 2025
ee5a92b
Update epochX/cudacpp/CODEGEN/PLUGIN/CUDACPP_SA_OUTPUT/madgraph/iolib…
valassi Oct 13, 2025
ab4f840
[hack_ihel5and3p1] CODEGEN: complete backport from ggtt the changes b…
valassi Oct 26, 2025
7eae3a7
[hack_ihel5and3p1] prepare to merge hack_ihel3_sep25_pr into hack_ihe…
valassi Oct 26, 2025
613d126
[hack_ihel5and3p1] prepare to merge hack_ihel3_sep25_pr into hack_ihe…
valassi Oct 26, 2025
b8da8b2
Merge branch 'hack_ihel3_sep25_pr' (commit e0d061b66) into hack_ihel5…
valassi Oct 26, 2025
8e6fb3b
Merge remote-tracking branch 'Qubitol/nopatch' into hack_ihel5and3p1
valassi Oct 26, 2025
5b5c7c5
[hack_ihel5and3p1] prepare to merge upstream/master into hack_ihel5an…
valassi Oct 26, 2025
0ecabc9
(** COMPLETE HACK_IHEL5AND3P1 **) Merge remote-tracking branch 'upstr…
valassi Oct 26, 2025
a146461
[hack_ihel5_pr] prepare to merge hack_ihel5and3p1 into hack_ihel5_pr …
valassi Oct 26, 2025
2502ba1
Merge remote-tracking branch 'origin/hack_ihel5and3p1' (commit 0ecabc…
valassi Oct 26, 2025
3509140
[hack_ihel5_pr] regenerate all processes
valassi Oct 26, 2025
43c8685
[hack_ihel5_pr] CODEGEN: fix for diagrams2.cc (fix bug in merging hac…
valassi Oct 26, 2025
ff4f39e
[hack_ihel5_pr] regenerate gg_ttg.dpg5dpf5.mad (with diagrams2.cc fix…
valassi Oct 26, 2025
346d926
[hack_ihel5_pr] heftggbb: fix a nasty bug (initialise cNGoodHel=nOneH…
valassi Oct 26, 2025
5b00206
[hack_ihel5_pr] CODEGEN (heftggbb backport): fix nasty bug (initialis…
valassi Oct 26, 2025
5faea3f
[hack_ihel5_pr] regenerate all processes after fixing nasty bug seen …
valassi Oct 26, 2025
a706bab
[hack_ihel5_pr] (complete hack_ihel5_pr before tests) tput/throughput…
valassi Oct 26, 2025
406af0b
[hack_ihel5_pr] rerun 158 tput tests on LUMI - all ok
valassi Oct 27, 2025
448097d
[hack_ihel5_pr] rerun 30 tmad tests on LUMI - all ok
valassi Oct 27, 2025
8d9cb9a
[hack_ihel5_pr] go back from hack_ihel5_pr/LUMI to hack_ihel3_sep25_p…
valassi Oct 27, 2025
e414b0d
[hack_ihel5_pr] rerun 164 tput tests on itscrd90 - all ok
valassi Oct 27, 2025
9cb1162
[hack_ihel5_pr] ** COMPLETE HACK_IHEL5_PR ** rerun 30 tmad tests on i…
valassi Oct 27, 2025
5c938d9
[hack_ihel5_pr] ggtt: add HASBLAS to full build TAG in cudacpp.mk
valassi Nov 1, 2025
47a93c7
[hack_ihel5_pr] CODEGEN: add HASBLAS to full build TAG in cudacpp.mk
valassi Nov 1, 2025
4d06351
[hack_ihel5_pr] ** COMPLETE HACK_IHEL5_PR (again) ** update cudacpp.m…
valassi Nov 1, 2025
117558d
[hack_ihel6] ggttg.dpg5dpf5: implement DCDIAG=1 (diagram groups as de…
valassi Nov 1, 2025
9b0a416
[hack_ihel6] ggttg.dpg5dpf5: use '-rdc true' instead of '-dc' to enab…
valassi Nov 1, 2025
d37bb96
[hack_ihel6] ggttg.dpg5dpf5: add GPULIBFLAGS to nvcc linking (get rid…
valassi Nov 1, 2025
42c36a2
[hack_ihel6] ggttg.dpg5dpf5: do not retrieve/store wfs in DCDIAG=1 mo…
valassi Nov 1, 2025
2139e2c
[hack_ihel6] ggttg.dpg5dpf5: in DCDIAG=1 pass wfs pointers to registr…
valassi Nov 1, 2025
dcf4fd3
[hack_ihel6] ggttg.dpg5dpf5: in DCDIAG=1 avoid creating the wfs buffer
valassi Nov 1, 2025
4b5725a
[hack_ihel6] ggttg.dpg5dpf5: remove _dcd$(DCDIAG) from short build TA…
valassi Nov 1, 2025
77e4a88
[hack_ihel6] CODEGEN (ggttg.dpg5dpf5 backport): implement DCDIAG=1 (d…
valassi Nov 1, 2025
8aa2448
[hack_ihel6] ggttg.dpg5dpf5: try to fix DCDIAG compile/link options f…
valassi Nov 1, 2025
9905ee9
[hack_ihel6] ggttg.dpg5dpf5: in cudacpp.mk clarify that DCDIAG=1 is n…
valassi Nov 1, 2025
fb60b03
[hack_ihel6] CODEGEN (ggttg.dpg5dpf5 backport): in cudacpp.mk clarify…
valassi Nov 1, 2025
cf8148b
[hack_ihel6] CODEGEN: bug fix for BSM processes (remove hardcoded SM …
valassi Nov 2, 2025
ac9da60
[hack_ihel6] ggttg.dpg5dpf5: append _dcd$(DCDIAG) to the build direct…
valassi Nov 2, 2025
a7beaff
[hack_ihel6] CODEGEN (ggttg.dpg5dpf5 backport): append _dcd$(DCDIAG) …
valassi Nov 2, 2025
14ce348
[hack_ihel6] ggttg.dpg5dpf5: use hipcc instead of fortran to link GPU…
valassi Nov 2, 2025
cd143ca
[hack_ihel6] ggttg.dpg5dpf5: try to fix HRDCOD=1 on HIP using rdc but…
valassi Nov 2, 2025
f048638
[hack_ihel6] ggttg.dpg5dpf5: clean up cudacpp.mk (use hipcc instead o…
valassi Nov 2, 2025
21635cc
[hack_ihel6] CODEGEN (ggttg.dpg5dpf5 backport): use hipcc instead of …
valassi Nov 2, 2025
92a009a
[hack_ihel6] CODEGEN: remove printout of which DCDIAG is used (this i…
valassi Nov 2, 2025
235bc65
[hack_ihel6] add gg_ttg.dpg5dpf5.sa to the repository
valassi Nov 2, 2025
d2af738
[hack_ihel6] CODEGEN/allGenerateAndCompare.sh: add gg_ttg.dpg5dpf5.sa
valassi Nov 2, 2025
620f883
[hack_ihel6] gg_ttg.dpg5dpf5.sa: bug fix for nomultichannelmode with …
valassi Nov 2, 2025
00b4d21
[hack_ihel6] CODEGEN (gg_ttg.dpg5dpf5.sa backport): bug fix for nomul…
valassi Nov 2, 2025
0f03f8c
[hack_ihel6] CODEGEN: in check.exe add printout of which DCDIAG is used
valassi Nov 2, 2025
69e15a0
[hack_ihel6] regenerate all processes
valassi Nov 2, 2025
a36d9d4
[hack_ihel6] tput/throughputX.sh and tput/teeThroughputX.sh: drop sup…
valassi Nov 2, 2025
09c65b3
[hack_ihel6] tput/throughputX.sh: add -dcd/-dcdonly options for DCDIAG=1
valassi Nov 2, 2025
558e9b5
[hack_ihel6] tput/throughputX.sh: skip C++ builds/tests for DCDIAG=1 …
valassi Nov 2, 2025
50eac86
[hack_ihel6] tput/teeThroughputX.sh: add -dcd/-dcdonly options for DC…
valassi Nov 2, 2025
49175bd
[hack_ihel6] tput/allTees.sh: add dcd1 test for ggttg5
valassi Nov 2, 2025
8e6ecbc
[hack_ihel6] add 165th tput log: tput/logs_ggttg5_mad/log_ggttg5_mad_…
valassi Nov 2, 2025
a506b32
[hack_ihel6] tmad/madX.sh: fix path (add _dcd0 for GPU tests) and har…
valassi Nov 2, 2025
799e9ed
[hack_ihel6] tput/throughputX.sh: bug fix in a previous change droppi…
valassi Nov 2, 2025
1ee2e7d
[hack_ihel6] tput/throughputX.sh: bug fix in -dcd/-dcdonly for HIP
valassi Nov 2, 2025
d5621b6
[hack_ihel6] rerun 159 tput tests on LUMI - all ok
valassi Nov 3, 2025
016e218
[hack_ihel6] rerun 30 tmad tests on LUMI - all ok
valassi Nov 3, 2025
03859a1
[hack_ihel6] go back from hack_ihel6/LUMI to hack_ihel5_pr/rd90 logs
valassi Nov 3, 2025
436b3ec
[hack_ihel6] rerun 165 tput tests on itscrd90 - all ok
valassi Nov 3, 2025
944d310
[hack_ihel6] ** COMPLETE HACK_IHEL6 ** rerun 30 tmad tests on itscrd9…
valassi Nov 3, 2025
90a88ed
[hack_ihel6_ggtt4g] CODEGEN: skip getGoodHel and keep all helicities …
valassi Nov 3, 2025
e7fb406
[hack_ihel6p1] ggttg.dpg5dpf5: regenerate before new developments
valassi Nov 4, 2025
43f9a86
[hack_ihel6p1] ggttg.dpg5dpf5: use a local jamp_cx[ncolor] in diagram…
valassi Nov 4, 2025
9321ddf
[hack_ihel6p1] CODEGEN (ggttg.dpg5dpf5 backport): use a local jamp_cx…
valassi Nov 4, 2025
c4a2b67
[hack_ihel6p1] regenerate all processes
valassi Nov 4, 2025
6495dbd
[hack_ihel6p1] rerun 159 tput tests on LUMI - all ok
valassi Nov 5, 2025
4aa41e7
[hack_ihel6p1] rerun 30 tmad tests on LUMI - all ok
valassi Nov 5, 2025
410780f
[hack_ihel6p1] go back from hack_ihel6p1/LUMI to hack_ihel6/rd90 logs
valassi Nov 5, 2025
e96ecf3
[hack_ihel6p1] rerun 165 tput tests on itscrd90 - all ok
valassi Nov 5, 2025
628be94
[hack_ihel6p1] rerun 30 tmad tests on itscrd90 - all ok
valassi Nov 5, 2025
4e60030
[hack_ihel6p2] gg_tt.mad: remove templates from all HelAmps methods
valassi Nov 6, 2025
cabb5e7
[hack_ihel6p2] CODEGEN (gg_tt.mad backport): remove templates from al…
valassi Nov 6, 2025
251cb4f
[hack_ihel6p2] ee_mumu.mad: regenerate (remove templates from all Hel…
valassi Nov 6, 2025
99dd693
[hack_ihel6p2/ggtt5g] CODEGEN: add optional change in CXXFLAGS conste…
valassi Nov 6, 2025
2358ca6
[hack_ihel6p2] ee_mumu.mad: bug fix after removing templates (need CI…
valassi Nov 6, 2025
072c278
[hack_ihel6p2] ee_mumu/gg_tt.mad : ease code generation of choice bet…
valassi Nov 6, 2025
68e29ad
[hack_ihel6p2] CODEGEN (ee_mumu/gg_tt.mad backport): fix choice betwe…
valassi Nov 7, 2025
deaa311
[hack_ihel6p2] regenerate all processes - remove templates from helic…
valassi Nov 7, 2025
bc771b2
[hack_ihel6p2/ggtt5g] gg_tt.mad: improve optional handling of constex…
valassi Nov 7, 2025
7b6f856
[hack_ihel6p2/ggtt5g] in CODEGEN, create gg_ttggggg.sa reference file…
valassi Nov 7, 2025
20b436d
[hack_ihel6p2/ggtt5g] CODEGEN (gg_tt.mad backport): improve optional …
valassi Nov 7, 2025
8b5c387
[hack_ihel6p2] regenerate all processes (including extra patches for …
valassi Nov 7, 2025
ba8df93
[hack_ihel6p2] rerun 159 tput tests on LUMI - all ok
valassi Nov 7, 2025
0eeea36
[hack_ihel6p2] rerun 30 tmad tests on LUMI - all ok
valassi Nov 7, 2025
9397172
[hack_ihel6p2] go back from hack_ihel6p2/LUMI to hack_ihel6p1/rd90 logs
valassi Nov 7, 2025
68a4157
[hack_ihel6p2] rerun 165 tput tests on itscrd90 - all ok
valassi Nov 7, 2025
3b5e4ba
[hack_ihel6p2] rerun 30 tmad tests on itscrd90 - all ok
valassi Nov 7, 2025
ccc2256
[hack_ihel6p2] ** COMPLETE HACK_IHEL6P2 ** fix usage message in CODEG…
valassi Nov 14, 2025
900b59f
[hack_ihel6p2/ggtt5g] CODEGEN/generateAndCompare.sh: add gg_ttggggg
valassi Nov 5, 2025
aef335f
[ggtt4g] add gg_ttgggg.sa (NB LARGE DIRECTORY! 32MB mainly from CPPPr…
valassi Feb 25, 2023
898d1c2
[hack_ihel4p2_ggtt4g] add gg_ttgggg.sa (NB LARGE DIRECTORY! 43MB main…
valassi Oct 24, 2025
2020bb6
[hack_ihel5_ggtt4g] generated gg_ttgggg.sa (355 seconds on the a100 n…
valassi Oct 24, 2025
0527348
[hack_ihel5_ggtt4g] regenerate gg_ttgggg.sa with 1000 diagrams per gr…
valassi Oct 24, 2025
4b06ae2
[hack_ihel6_ggtt4g] remove all previous gg_ttgggg.sa and restart cleanly
valassi Nov 2, 2025
79372b4
[hack_ihel6_ggtt4g] generate gg_ttgggg SA with 1 diagram per group an…
valassi Nov 2, 2025
65ae372
[hack_ihel6_ggtt4g] generate gg_ttgggg SA with 10 diagrams per group …
valassi Nov 2, 2025
f96f51b
[hack_ihel6_ggtt4g] generate gg_ttgggg SA with 100 diagrams per group…
valassi Nov 2, 2025
cda97ec
[hack_ihel6_ggtt4g] generate gg_ttgggg SA with 1000 diagrams per grou…
valassi Nov 2, 2025
38ae5f3
[hack_ihel6_ggtt4g] generate gg_ttgggg SA with 100000 diagrams per gr…
valassi Nov 2, 2025
4151f78
[hack_ihel6_ggtt4g] generate gg_ttgggg SA with 10000 diagrams per gro…
valassi Nov 2, 2025
d12ef45
[hack_ihel6_ggtt4g] gg_ttgggg.dpg*.sa: update MatrixElementKernels.cc…
valassi Nov 3, 2025
b1e32e6
[hack_ihel6_ggtt4g] logs of ggttgggg scaling tests on itscrd-a100 for…
valassi Nov 4, 2025
f16223e
[hack_ihel6p1_ggtt4g] regenerate gg_ttgggg.dpg1000dpf1000.sa
valassi Nov 4, 2025
75f7739
[hack_ihel6p1_ggtt4g] regenerate gg_ttgggg.dpg100dpf100.sa
valassi Nov 4, 2025
7f6f65f
[hack_ihel6p1_ggtt4g] regenerate gg_ttgggg.dpg1dpf100.sa
valassi Nov 4, 2025
8930643
[hack_ihel6p1_ggtt4g] regenerate gg_ttgggg.dpg10dpf100.sa
valassi Nov 5, 2025
166bb2f
[hack_ihel6p1_ggtt4g] regenerate gg_ttgggg.dpg10000dpf10000.sa
valassi Nov 5, 2025
b014ba4
[hack_ihel6p1_ggtt4g] regenerate gg_ttgggg.dpg100000dpf100000.sa
valassi Nov 5, 2025
78e24d0
[hack_ihel6p1_ggtt4g] recreate logs of ggttgggg scaling tests on itsc…
valassi Nov 4, 2025
1944ff7
[hack_ihel6p2_ggtt4g] regenerate gg_ttgggg.dpg1dpf100.sa (without tem…
valassi Nov 21, 2025
9e4b7ab
[hack_ihel6p2_ggtt4g] regenerate gg_ttgggg.dpg10dpf100.sa (without te…
valassi Nov 21, 2025
7c3804b
[hack_ihel6p2_ggtt4g] regenerate gg_ttgggg.dpg100dpf100.sa (without t…
valassi Nov 21, 2025
2b36185
[hack_ihel6p2_ggtt4g] regenerate gg_ttgggg.dpg1000dpf1000.sa (without…
valassi Nov 21, 2025
69f2992
[hack_ihel6p2_ggtt4g] regenerate gg_ttgggg.dpg10000dpf10000.sa (witho…
valassi Nov 21, 2025
c9d6beb
[hack_ihel6p2_ggtt4g] regenerate gg_ttgggg.dpg100000dpf100000.sa (wit…
valassi Nov 21, 2025
4dbf3cc
[hack_ihel6p2_ggtt4g] generate gg_ttgggg.dpg200dpf200.sa (without tem…
valassi Nov 21, 2025
c9afacc
[hack_ihel6p1/ggtt5g] itgold91 SIMD scan for ggttggggg.sa (hack_ihel6…
valassi Nov 9, 2025
e3063d6
[hack_ihel6p2_ggtt4g] itgold91 SIMD scan for ggttgggg.sa at different…
valassi Nov 22, 2025
89e8e1c
[hack_ihel6p2_ggtt4g] summary of itgold91 SIMD scan for ggttgggg.sa a…
valassi Nov 22, 2025
e9c6185
[hack_ihel6p2_ggtt4g] script and tmp results of GPU scaling scans for…
valassi Nov 22, 2025
8864600
[hack_ihel6p2_ggtt4g] rename logs of hack_ihel6p1_ggtt4g GPU scaling …
valassi Nov 22, 2025
e4a3564
[hack_ihel6p2_ggtt4g] script and updated results of GPU scaling scans…
valassi Nov 22, 2025
a3d7701
[hack_ihel6p2_ggtt4g] add two patches (derived from branch paper25v2)…
valassi Nov 22, 2025
175fc8d
[hack_ihel6p2_ggtt4g] instrument color sums with timers in gg_ttgggg.…
valassi Nov 22, 2025
b9a023b
[hack_ihel6p2_ggtt4g] instrument color sums with timers in gg_ttgggg.…
valassi Nov 22, 2025
82de814
[hack_ihel6p2_ggtt4g] script and results for ggtt4g colortimer using …
valassi Nov 23, 2025
31a5841
[hack_ihel6p2_ggtt4g] script and results for ggtt4g colortimer using …
valassi Nov 23, 2025
58b52e1
[hack_ihel6p2_ggtt4g] ** COMPLETE HACK_IHEL6P2_GGTT4G ** update resul…
valassi Nov 23, 2025
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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 2 additions & 0 deletions epochX/cudacpp/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ run_[0-9]*
events.lhe*

py3_model.pkl

perf.data*
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
! Copyright (C) 2010 The MadGraph5_aMC@NLO development team and contributors.
! Created by: J. Alwall (Sep 2010) for the MG5aMC CPP backend.
!==========================================================================
! Copyright (C) 2020-2024 CERN and UCLouvain.
! Copyright (C) 2020-2025 CERN and UCLouvain.
! Licensed under the GNU Lesser General Public License (version 3 or later).
! Modified by: O. Mattelaer (Mar 2020) for the MG5aMC CUDACPP plugin.
! Further modified by: O. Mattelaer, A. Valassi (2020-2024) for the MG5aMC CUDACPP plugin.
! Further modified by: O. Mattelaer, A. Valassi (2020-2025) for the MG5aMC CUDACPP plugin.
!==========================================================================

//==========================================================================

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// Copyright (C) 2010 The MadGraph5_aMC@NLO development team and contributors.
// Created by: J. Alwall (Oct 2010) for the MG5aMC CPP backend.
//==========================================================================
// Copyright (C) 2020-2024 CERN and UCLouvain.
// Copyright (C) 2020-2025 CERN and UCLouvain.
// Licensed under the GNU Lesser General Public License (version 3 or later).
// Modified by: A. Valassi (Sep 2021) for the MG5aMC CUDACPP plugin.
// Further modified by: J. Teig, A. Valassi (2021-2024) for the MG5aMC CUDACPP plugin.
// Further modified by: J. Teig, A. Valassi (2021-2025) for the MG5aMC CUDACPP plugin.
//==========================================================================
// This file has been automatically generated for CUDA/C++ standalone by
%(info_lines)s
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// Copyright (C) 2010 The MadGraph5_aMC@NLO development team and contributors.
// Created by: J. Alwall (Oct 2010) for the MG5aMC CPP backend.
//==========================================================================
// Copyright (C) 2020-2024 CERN and UCLouvain.
// Copyright (C) 2020-2025 CERN and UCLouvain.
// Licensed under the GNU Lesser General Public License (version 3 or later).
// Modified by: A. Valassi (Sep 2021) for the MG5aMC CUDACPP plugin.
// Further modified by: A. Valassi (2021-2024) for the MG5aMC CUDACPP plugin.
// Further modified by: A. Valassi (2021-2025) for the MG5aMC CUDACPP plugin.
//==========================================================================
// This file has been automatically generated for CUDA/C++ standalone by
%(info_lines)s
Expand Down Expand Up @@ -217,7 +217,7 @@ namespace mg5amcCpu
#pragma GCC diagnostic ignored "-Wunused-but-set-variable" // e.g. <<warning: variable ‘couplings_sv’ set but not used [-Wunused-but-set-variable]>>
#endif
// Compute the output couplings (e.g. gc10 and gc11) from the input gs
template<class G_ACCESS, class C_ACCESS>
template<class G_ACCESS, class CD_ACCESS>
__device__ inline void
G2COUP( const fptype gs[],
fptype couplings[],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,18 @@
#define GPUBLAS_OP_N CUBLAS_OP_N
#define GPUBLAS_OP_T CUBLAS_OP_T

#define gpuGraph_t cudaGraph_t
#define gpuGraphExec_t cudaGraphExec_t
#define gpuGraphNode_t cudaGraphNode_t
#define gpuKernelNodeParams cudaKernelNodeParams

//#define gpuGraphAddDependencies cudaGraphAddDependencies
#define gpuGraphAddKernelNode cudaGraphAddKernelNode
#define gpuGraphCreate cudaGraphCreate
#define gpuGraphExecKernelNodeSetParams cudaGraphExecKernelNodeSetParams
#define gpuGraphInstantiate cudaGraphInstantiate
#define gpuGraphLaunch cudaGraphLaunch

//--------------------------------------------------------------------------

#elif defined __HIPCC__
Expand Down Expand Up @@ -138,6 +150,18 @@
#define GPUBLAS_OP_N HIPBLAS_OP_N
#define GPUBLAS_OP_T HIPBLAS_OP_T

#define gpuGraph_t hipGraph_t
#define gpuGraphExec_t hipGraphExec_t
#define gpuGraphNode_t hipGraphNode_t
#define gpuKernelNodeParams hipKernelNodeParams

//#define gpuGraphAddDependencies hipGraphAddDependencies
#define gpuGraphAddKernelNode hipGraphAddKernelNode
#define gpuGraphExecKernelNodeSetParams hipGraphExecKernelNodeSetParams
#define gpuGraphCreate hipGraphCreate
#define gpuGraphInstantiate hipGraphInstantiate
#define gpuGraphLaunch hipGraphLaunch

#endif

//--------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,44 @@ namespace mg5amcCpu
}

//--------------------------------------------------------------------------

bool precomputedGoodHelicities( bool* isGoodHel ) // output: isGoodHel[ncomb] - host array
{
static bool first = true;
static bool allGoodHel = false;
// Analyse environment variable CUDACPP_RUNTIME_GOODHELICITIES
if( first )
{
first = false;
const char* ghelEnv = getenv( "CUDACPP_RUNTIME_GOODHELICITIES" );
if( ghelEnv && std::string( ghelEnv ) != "" )
{
std::string ghelStr = std::string( ghelEnv );
// Case "ALL": treat all ncomb helicities as good helicities
if( ghelStr == "ALL" )
{
std::cout << "INFO: Env variable CUDACPP_RUNTIME_GOODHELICITIES equals \"ALL\": keep all helicities" << std::endl;
allGoodHel = true;
}
// TODO Case "DUMP": encode and dump the input mask isGoodHel as a string "xxxx" (e.g. in binary or hex format)
// TODO Case "xxxx": decode string "xxxx" into the output mask isGoodHel of good helicities
else
{
std::cout << "WARNING: Env variable CUDACPP_RUNTIME_GOODHELICITIES is set to an unknown value \"" << ghelStr << "\" and will be ignored" << std::endl;
}
}
}
// Case "ALL": treat all ncomb helicities as good helicities
if( allGoodHel )
{
for( int ihel = 0; ihel < CPPProcess::ncomb; ihel++ ) isGoodHel[ihel] = true;
return true;
}
else
return false;
}

//--------------------------------------------------------------------------
}

//============================================================================
Expand Down Expand Up @@ -201,13 +239,16 @@ namespace mg5amcCpu
int MatrixElementKernelHost::computeGoodHelicities()
{
HostBufferHelicityMask hstIsGoodHel( CPPProcess::ncomb );
// ... 0d1. Compute good helicity mask on the host
computeDependentCouplings( m_gs.data(), m_couplings.data(), m_gs.size() );
if( !precomputedGoodHelicities( hstIsGoodHel.data() ) )
{
// ... 0d1. Compute good helicity mask on the host
computeDependentCouplings( m_gs.data(), m_couplings.data(), m_gs.size() );
#ifdef MGONGPU_SUPPORTS_MULTICHANNEL
sigmaKin_getGoodHel( m_momenta.data(), m_couplings.data(), m_matrixElements.data(), m_numerators.data(), m_denominators.data(), hstIsGoodHel.data(), nevt() );
sigmaKin_getGoodHel( m_momenta.data(), m_couplings.data(), m_matrixElements.data(), m_numerators.data(), m_denominators.data(), hstIsGoodHel.data(), nevt() );
#else
sigmaKin_getGoodHel( m_momenta.data(), m_couplings.data(), m_matrixElements.data(), hstIsGoodHel.data(), nevt() );
sigmaKin_getGoodHel( m_momenta.data(), m_couplings.data(), m_matrixElements.data(), hstIsGoodHel.data(), nevt() );
#endif
}
// ... 0d2. Copy good helicity list to static memory on the host
// [FIXME! REMOVE THIS STATIC THAT BREAKS MULTITHREADING?]
return sigmaKin_setGoodHel( hstIsGoodHel.data() );
Expand Down Expand Up @@ -316,6 +357,7 @@ namespace mg5amcGpu
, m_couplings( this->nevt() )
, m_pHelMEs()
, m_pHelJamps()
, m_pHelWfs()
#ifdef MGONGPU_SUPPORTS_MULTICHANNEL
, m_pHelNumerators()
, m_pHelDenominators()
Expand Down Expand Up @@ -354,6 +396,11 @@ namespace mg5amcGpu
}
// Create the "one-helicity" jamp buffer that will be used for helicity filtering
m_pHelJamps.reset( new DeviceBufferSimple( CPPProcess::ncolor * mgOnGpu::nx2 * this->nevt() ) );
#ifndef MGONGPU_RDC_DIAGRAMS
// Create the "one-helicity" wavefunction buffer that will be used for helicity filtering
if constexpr( CPPProcess::ndiagramgroups > 1 )
m_pHelWfs.reset( new DeviceBufferSimple( CPPProcess::nwf * CPPProcess::nw6 * mgOnGpu::nx2 * this->nevt() ) );
#endif
#ifdef MGONGPU_SUPPORTS_MULTICHANNEL
// Create the "one-helicity" numerator and denominator buffers that will be used for helicity filtering
m_pHelNumerators.reset( new DeviceBufferSimple( this->nevt() ) );
Expand Down Expand Up @@ -442,15 +489,19 @@ namespace mg5amcGpu

int MatrixElementKernelDevice::computeGoodHelicities()
{
PinnedHostBufferHelicityMask hstIsGoodHel( CPPProcess::ncomb );
// ... 0d1. Compute good helicity mask (a host variable) on the device
gpuLaunchKernel( computeDependentCouplings, m_gpublocks, m_gputhreads, m_gs.data(), m_couplings.data() );
const int nevt = m_gpublocks * m_gputhreads;
PinnedHostBufferHelicityMask hstIsGoodHel( CPPProcess::ncomb );
if( !precomputedGoodHelicities( hstIsGoodHel.data() ) )
{
// ... 0d1. Compute good helicity mask (a host variable) on the device
gpuLaunchKernel( computeDependentCouplings, m_gpublocks, m_gputhreads, m_gs.data(), m_couplings.data() );
fptype* helWfsData = ( m_pHelWfs ? m_pHelWfs->data() : nullptr );
#ifdef MGONGPU_SUPPORTS_MULTICHANNEL
sigmaKin_getGoodHel( m_momenta.data(), m_couplings.data(), m_matrixElements.data(), m_pHelJamps->data(), m_pHelNumerators->data(), m_pHelDenominators->data(), hstIsGoodHel.data(), nevt );
sigmaKin_getGoodHel( m_momenta.data(), m_couplings.data(), m_matrixElements.data(), m_pHelNumerators->data(), m_pHelDenominators->data(), m_pHelJamps->data(), helWfsData, hstIsGoodHel.data(), nevt );
#else
sigmaKin_getGoodHel( m_momenta.data(), m_couplings.data(), m_matrixElements.data(), m_pHelJamps->data(), hstIsGoodHel.data(), nevt );
sigmaKin_getGoodHel( m_momenta.data(), m_couplings.data(), m_matrixElements.data(), m_pHelJamps->data(), helWfsData, hstIsGoodHel.data(), nevt );
#endif
}
// ... 0d3. Set good helicity list in host static memory
int nGoodHel = sigmaKin_setGoodHel( hstIsGoodHel.data() );
assert( nGoodHel > 0 ); // SANITY CHECK: there should be at least one good helicity
Expand All @@ -470,9 +521,15 @@ namespace mg5amcGpu
#endif
// ... Create the "many-helicity" super-buffer of nGoodHel ME buffers (dynamically allocated because nGoodHel is determined at runtime)
m_pHelMEs.reset( new DeviceBufferSimple( nGoodHel * nevt ) );
// ... Create the "many-helicity" super-buffer of nGoodHel ME buffers (dynamically allocated because nGoodHel is determined at runtime)
// ... Create the "many-helicity" super-buffer of nGoodHel jamp buffers (dynamically allocated because nGoodHel is determined at runtime)
// ... (calling reset here deletes the previously created "one-helicity" buffers used for helicity filtering)
m_pHelJamps.reset( new DeviceBufferSimple( nGoodHel * CPPProcess::ncolor * mgOnGpu::nx2 * nevt ) );
#ifndef MGONGPU_RDC_DIAGRAMS
// ... Create the "many-helicity" super-buffer of nGoodHel wavefunction buffers (dynamically allocated because nGoodHel is determined at runtime)
// ... (calling reset here deletes the previously created "one-helicity" buffers used for helicity filtering)
if constexpr( CPPProcess::ndiagramgroups > 1 )
m_pHelWfs.reset( new DeviceBufferSimple( nGoodHel * CPPProcess::nwf * CPPProcess::nw6 * mgOnGpu::nx2 * nevt ) );
#endif
#ifdef MGONGPU_SUPPORTS_MULTICHANNEL
// ... Create the "many-helicity" super-buffers of nGoodHel numerator and denominator buffers (dynamically allocated)
// ... (calling reset here deletes the previously created "one-helicity" buffers used for helicity filtering)
Expand Down Expand Up @@ -505,20 +562,21 @@ namespace mg5amcGpu
fptype2* ghelAllBlasTmp = nullptr;
gpuBlasHandle_t* pBlasHandle = nullptr;
#endif
fptype* helWfsData = ( m_pHelWfs ? m_pHelWfs->data() : nullptr );
#ifdef MGONGPU_SUPPORTS_MULTICHANNEL
const unsigned int* pChannelIds = ( useChannelIds ? m_channelIds.data() : nullptr );
sigmaKin( m_momenta.data(), m_couplings.data(), m_rndhel.data(), m_rndcol.data(), pChannelIds, m_matrixElements.data(), m_selhel.data(), m_selcol.data(), m_colJamp2s.data(), m_pHelNumerators->data(), m_pHelDenominators->data(), m_pHelMEs->data(), m_pHelJamps->data(), ghelAllBlasTmp, pBlasHandle, m_helStreams, m_gpublocks, m_gputhreads );
sigmaKin( m_momenta.data(), m_couplings.data(), m_rndhel.data(), m_rndcol.data(), pChannelIds, m_matrixElements.data(), m_selhel.data(), m_selcol.data(), m_colJamp2s.data(), m_pHelNumerators->data(), m_pHelDenominators->data(), m_pHelMEs->data(), m_pHelJamps->data(), helWfsData, ghelAllBlasTmp, pBlasHandle, m_helStreams, m_gpublocks, m_gputhreads );
#else
assert( useChannelIds == false );
sigmaKin( m_momenta.data(), m_couplings.data(), m_rndhel.data(), m_matrixElements.data(), m_selhel.data(), m_pHelMEs->data(), m_pHelJamps->data(), ghelAllBlasTmp, pBlasHandle, m_helStreams, m_gpublocks, m_gputhreads );
sigmaKin( m_momenta.data(), m_couplings.data(), m_rndhel.data(), m_matrixElements.data(), m_selhel.data(), m_pHelMEs->data(), m_pHelJamps->data(), helWfsData, ghelAllBlasTmp, pBlasHandle, m_helStreams, m_gpublocks, m_gputhreads );
#endif
#ifdef MGONGPU_CHANNELID_DEBUG
//std::cout << "DEBUG: MatrixElementKernelDevice::computeMatrixElements " << this << " " << ( useChannelIds ? "T" : "F" ) << " " << nevt() << std::endl;
copyHostFromDevice( m_hstChannelIds, m_channelIds ); // FIXME?!
const unsigned int* pHstChannelIds = ( useChannelIds ? m_hstChannelIds.data() : nullptr );
MatrixElementKernelBase::updateNevtProcessedByChannel( pHstChannelIds, nevt() );
#endif
checkGpu( gpuPeekAtLastError() ); // is this needed?
checkGpu( gpuPeekAtLastError() ); // not strictly needed, but useful if previous calls were not wrapped in checkGpu
checkGpu( gpuDeviceSynchronize() ); // probably not needed? but it avoids errors in sigmaKin above from appearing later on in random places...
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,9 @@ namespace mg5amcCpu
// The super-buffer of nGoodHel jamp buffers (dynamically allocated because nGoodHel is determined at runtime)
std::unique_ptr<DeviceBufferSimple> m_pHelJamps;

// The super-buffer of nGoodHel wavefunction buffers (dynamically allocated because nGoodHel is determined at runtime)
std::unique_ptr<DeviceBufferSimple> m_pHelWfs;

#ifdef MGONGPU_SUPPORTS_MULTICHANNEL
// The super-buffer of nGoodHel numerator buffers (dynamically allocated because nGoodHel is determined at runtime)
std::unique_ptr<DeviceBufferSimple> m_pHelNumerators;
Expand Down
Loading