madgraph5 / madgraph4gpu

GPU development for the Madgraph5_aMC@NLO event generator software package
30 stars 32 forks source link

MG5aMC status #867

Open oliviermattelaer opened 5 months ago

oliviermattelaer commented 5 months ago

Here is an issue to track the issue on the mainstream repo that need to be fixed before allowing to be merged in the official repo (this follows branch gpucpp_for360)

Note that fixing a point can break another one, so this will likely oscillate

oliviermattelaer commented 5 months ago

LOOP INDUCED

oliviermattelaer commented 4 months ago

MADEVENT no grouping

auto_dsig.f:391:12:

          391 |             IB(1) = 1
              |            1
        Error: Function ‘ib’ at (1) has no IMPLICIT type
        auto_dsig.f:392:12:

          392 |             IB(2) = 2
              |            1
        Error: Function ‘ib’ at (1) has no IMPLICIT type
        auto_dsig.f:394:12:

-> added definition of IB(1)/IB(2) even if variable is not used in this context

coupl.inc:34:41:

           34 |       DOUBLE COMPLEX GC_10(VECSIZE_MEMMAX), GC_11(VECSIZE_MEMMAX)
              |                                         1
        Error: Symbol ‘vecsize_memmax’ at (1) has no IMPLICIT type
        matrix.f:312:44:

          312 |       CALL VVV1P0_1(W(1,1),W(1,2),GC_10(IVEC),ZERO, FK_ZERO,W(1,5))
              |                                            1
        Error: Symbol ‘ivec’ at (1) has no IMPLICIT type; did you mean ‘ic’?

-> need update of madgraph/iolibs/template_files/matrix_madevent_v4.inc

        Undefined symbols for architecture arm64:
          "_get_helicities_", referenced from:
              _write_leshouche_ in unwgt.o
          "_prepare_grouping_choice_", referenced from:
              _sample_full_ in libdsample.a(dsample.o)
          "_select_color_", referenced from:
              _smatrix_ in matrix.o
          "_select_grouping_", referenced from:
              _sample_full_ in libdsample.a(dsample.o)
        ld: symbol(s) not found for architecture arm64
        collect2: error: ld returned 1 exit status
        make: *** [madevent] Error 1

-> added dummy function for prepare_grouping_choice/select_grouping function -> define (from the group mode) the missing function in the non group auto_dsig version

At line 656 of file auto_dsig.f
Fortran runtime error: Index '2' of dimension 3 of array 'icolamp' above upper bound of 1

-> need to adapt the select color? -> enforce IPROC=1 solves the issue

wrong cross-section

oliviermattelaer commented 3 months ago

Drell-Yan +3 j issues

helicity recycling crashing

 cluster.f: Error. Invalid combination.
 error for clustering
 cluster.f: Error. Invalid combination.
 error for clustering
 cluster.f: Error. Invalid combination.
 error for clustering
 cluster.f: Error. Invalid combination.
 error for clustering
 cluster.f: Error. Invalid combination.
 error for clustering
At line 669 of file cluster.f
Fortran runtime error: Index '1665470336' of dimension 1 of array 'imap' above upper bound of 7

one potential fix is

--- a/Template/LO/SubProcesses/cluster.f
+++ b/Template/LO/SubProcesses/cluster.f
@@ -552,6 +552,8 @@ c**************************************************************************
       if (btest(mlevel,1))
      $   write (*,*)'New event'

+      iwin = 0
+      jwin = 0
       cluster=.false.
       clustered=.false.
       do i=0,3
@@ -663,7 +665,8 @@ c        Set info for LH clustering output
 c     initialize graph storage
       igraphs(0)=0
       nleft=nexternal
-c     cluster
+c     cluster
+      if (iwin.eq.0.or.jwin.eq.0) stop 21
       do n=1,nexternal-2
 c     combine winner
          imocl(n)=imap(iwin,2)+imap(jwin,2)
diff --git a/Template/LO/SubProcesses/reweight.f b/Template/LO/SubProcesses/reweight.f
index a51f0e4c3..76ea80172 100644
--- a/Template/LO/SubProcesses/reweight.f
+++ b/Template/LO/SubProcesses/reweight.f
@@ -643,7 +643,10 @@ c     Variables for keeping track of jets
             enddo
             s_rwfact(ivec)=1d0
          endif
-      return
+         return
+      elseif(init_mode)then ! helicity recycling mode
+          scale = 91.188
+          return ! avoid CKKW scale choice for hel-recycling to avoid isssue with channel-flipping
       endif
 c
 c   Cluster the configuration

The modification of the first file is a pure sanity check to ensure that such issue only occur when checking helicity recycling. The second is assuming that the clustering does not work in seaking helicity due to the swapping between channel ... and just use a fix scale here ... It might be better to do that in setscales.f and to switch fortran variable for fix-scale ... But the real ugly point is why this is occuring... (3.6.0 does not have such issue), so this sounds a work around to a bug that remains (and that will annoy us later?) But I guess for the moment, I will check the cross-section

missmatch of cross-section

oliviermattelaer commented 3 months ago

Acceptance tests:

striketrough means something that I can not test locally (so need to check the CI report when the others are fixed)

oliviermattelaer commented 3 months ago

CROSS-SECTION MISSMATCH EP collision

-> NO ISSUE HERE (just need to update central value for the test)

oliviermattelaer commented 3 months ago

test_ML_check_full_epem_ttx

simpler reproducer via script

set loop_optimized_output False
set gauge unitary
generate e+ e- > t t~ [virt=QCD]
output
launch

observation:

weird diff in loop_num

diff ./loop_num.f /Users/omattelaer/Documents/git_workspace/LTS/PROC_SA_loop_sm_1/SubProcesses/P0_epem_ttx/loop_num.f
136,138c136,138
<
<
<
---
>           CALL FFV1LP0_3(WL(1,2),W(1,WE(1),H),LC(1),ML(3),ZERO,WL(1,3))
>           CALL FFV1L_2(W(1,WE(2),H),WL(1,3),LC(2),ML(4),ZERO,WL(1,4))
>           CALL FFV1L_2(WL(1,4),W(1,WE(3),H),LC(3),ML(5),ZERO,WL(1,5))
146,148c146,149
<
<
<
---
>           CALL FFV1LP0_3(WL(1,2),W(1,WE(1),H),LC(1),ML(3),ZERO,WL(1,3))
>           CALL FFV1L_2(W(1,WE(2),H),WL(1,3),LC(2),ML(4),ZERO,WL(1,4))
>           CALL FFV2_5L_2(WL(1,4),W(1,WE(3),H),LC(3),LC(4),ML(5),ZERO
>      $     ,WL(1,5))
316,318c317,322
<
<
<
---
>           CALL MP_FFV1LP0_3(WL(1,2),W(1,WE(1),H),LC(1),ML(3),ZERO,WL(1
>      $     ,3))
>           CALL MP_FFV1L_2(W(1,WE(2),H),WL(1,3),LC(2),ML(4),ZERO,WL(1,4)
>      $     )
>           CALL MP_FFV1L_2(WL(1,4),W(1,WE(3),H),LC(3),ML(5),ZERO,WL(1,5)
>      $     )
oliviermattelaer commented 3 months ago

Merging with branch gpucpp_goodhel (and therefore latest 3.6.0 commit)

Screenshot 2024-08-14 at 07 03 25
oliviermattelaer commented 3 months ago

parralel test gpucpp

FAILED (failures=15) test_short_cross_sqso1 test_gauge_4_e500 test_gauge_6_e500 test_gauge_6_e90 test_long_sm_vs_stored_HCR_dxd_wpwm_QCD test_long_sm_vs_stored_HCR_dxd_wpwm_QED test_long_sm_vs_stored_HCR_dxd_zz_QCD test_long_sm_vs_stored_HCR_dxd_zz_QED test_long_sm_vs_stored_HCR_uxd_wmz_QCD test_long_sm_vs_stored_HCR_uxd_wmz_QED test_long_sm_vs_stored_HCR_uxu_wpwm_QCD test_long_sm_vs_stored_HCR_uxu_wpwm_QED test_long_sm_vs_stored_HCR_uxu_zz_QCD test_long_sm_vs_stored_HCR_uxu_zz_QED test_long_sm_vs_stored_HCR_wpwm_wpwm_QED FAILED ( errors=16) test_mg5_heft_23 test_mg5_minitest_mssm test_mg5_minitest_sm test_mg5_mssm_13 test_mg5_mssm_23_p1 test_mg5_mssm_23_p2 test_mg5_sm_13 test_mg5_sm_22 test_mg5_sm_23_p3 test_short_cross_pol test_short_cross_sm1 test_short_OfflineHEPToolsInstaller test_short_mw_tt_full_lept test_short_mw_tt_semi test_short_mw_wa_refine test_short_ppgogo_amcatnlo_nlo Bypassed 11: test_long_mssm_vs_stored_HCR_gg_t1t1xg_QCD test_long_mssm_vs_stored_HCR_uux_gogog_QCD test_mg5_mssm_22 test_mg5_sm_23_p1 test_mg5_sm_23_p2 test_paralel_cross_sm test_cross_gauge_p2 test_gauge_2 test_gauge_loop_p1 test_gauge_loop_p2 test_short_jet_veto_xsec

status for 360

FAILED (failures=12) test_gauge_4_e500 test_long_sm_vs_stored_HCR_dxd_wpwm_QCD test_long_sm_vs_stored_HCR_dxd_wpwm_QED test_long_sm_vs_stored_HCR_dxd_zz_QCD test_long_sm_vs_stored_HCR_dxd_zz_QED test_long_sm_vs_stored_HCR_uxd_wmz_QCD test_long_sm_vs_stored_HCR_uxd_wmz_QED test_long_sm_vs_stored_HCR_uxu_wpwm_QCD test_long_sm_vs_stored_HCR_uxu_wpwm_QED test_long_sm_vs_stored_HCR_uxu_zz_QCD test_long_sm_vs_stored_HCR_uxu_zz_QED test_long_sm_vs_stored_HCR_wpwm_wpwm_QED FAILED ( errors=14) test_mg5_heft_23 test_mg5_minitest_mssm test_mg5_minitest_sm test_mg5_mssm_13 test_mg5_mssm_22 test_mg5_mssm_23_p1 test_mg5_mssm_23_p2 test_mg5_sm_13 test_mg5_sm_22 test_mg5_sm_23_p1 test_mg5_sm_23_p2 test_mg5_sm_23_p3 test_paralel_cross_sm test_short_OfflineHEPToolsInstaller Bypassed 2: test_cross_gauge_p2 test_short_jet_veto_xsec

to investigate first:

Adding CI for