Skip to content

Commit

Permalink
[runcard] regenerate CODEGEN patches with a **new recipe** including …
Browse files Browse the repository at this point in the history
…5 more files in patch.common

./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/Cards/run_card.dat gg_tt.mad/Source/make_opts gg_tt.mad/bin/internal/banner.py gg_tt.mad/bin/internal/gen_ximprove.py gg_tt.mad/bin/internal/madevent_interface.py >> 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

Clearly, this will make the removal of patchMad.sh more complex madgraph5#656
  • Loading branch information
valassi committed Jun 12, 2023
1 parent 10e493c commit 9014fb1
Showing 1 changed file with 110 additions and 0 deletions.
110 changes: 110 additions & 0 deletions epochX/cudacpp/CODEGEN/MG5aMC_patches/PROD/patch.common
Original file line number Diff line number Diff line change
Expand Up @@ -270,3 +270,113 @@ index 6f5e1f832..6dd050c89 100644
+distclean: cleanall
+ $(MAKE) -f $(CUDACPP_MAKEFILE) distclean
+endif
diff --git b/epochX/cudacpp/gg_tt.mad/Cards/run_card.dat a/epochX/cudacpp/gg_tt.mad/Cards/run_card.dat
index af32b29dd..80d07f317 100644
--- b/epochX/cudacpp/gg_tt.mad/Cards/run_card.dat
+++ a/epochX/cudacpp/gg_tt.mad/Cards/run_card.dat
@@ -139,3 +139,13 @@
#
systematics = systematics_program ! none, systematics [python], SysCalc [depreceted, C++]
['--mur=0.5,1,2', '--muf=0.5,1,2', '--pdf=errorset'] = systematics_arguments ! see: https://cp3.irmp.ucl.ac.be/projects/madgraph/wiki/Systematics#Systematicspythonmodule
+
+#*********************************************************************
+# Options for the cudacpp plugin
+#*********************************************************************
+
+# Set cudacpp-specific values of non-cudacpp-specific options
+-O3 -ffast-math -fbounds-check = global_flag ! build flags for Fortran code (for a fair comparison to cudacpp)
+
+# New cudacpp-specific options (default values are defined in banner.py)
+CPP = cudacpp_backend ! valid backends are FORTRAN, CPP, CUDA
diff --git b/epochX/cudacpp/gg_tt.mad/Source/make_opts a/epochX/cudacpp/gg_tt.mad/Source/make_opts
index 1c3c559ee..c22e31c37 100644
--- b/epochX/cudacpp/gg_tt.mad/Source/make_opts
+++ a/epochX/cudacpp/gg_tt.mad/Source/make_opts
@@ -1,12 +1,17 @@
+pdlabel1=
+pdlabel2=
+lhapdf=
+PYTHIA8_PATH=NotInstalled
+MG5AMC_VERSION=3.5.0_lo_vect
GLOBAL_FLAG=-O3 -ffast-math -fbounds-check
+ALOHA_FLAG=
+MATRIX_FLAG=
DEFAULT_CPP_COMPILER=g++
MACFLAG=
STDLIB=-lstdc++
STDLIB_FLAG=
DEFAULT_F2PY_COMPILER=f2py
DEFAULT_F_COMPILER=gfortran
-MG5AMC_VERSION=SpecifiedByMG5aMCAtRunTime
-PYTHIA8_PATH=NotInstalled
#end_of_make_opts_variables

BIASLIBDIR=../../../lib/
diff --git b/epochX/cudacpp/gg_tt.mad/bin/internal/banner.py a/epochX/cudacpp/gg_tt.mad/bin/internal/banner.py
index dc15d3183..dbcc9ca3b 100755
--- b/epochX/cudacpp/gg_tt.mad/bin/internal/banner.py
+++ a/epochX/cudacpp/gg_tt.mad/bin/internal/banner.py
@@ -4164,7 +4164,8 @@ class RunCardLO(RunCard):
self.add_param('mxxmin4pdg',[-1.], system=True)
self.add_param('mxxpart_antipart', [False], system=True)

-
+ # CUDACPP parameters
+ self.add_param('cudacpp_backend', 'CPP', include=False, hidden=False)

def check_validity(self):
""" """
diff --git b/epochX/cudacpp/gg_tt.mad/bin/internal/gen_ximprove.py a/epochX/cudacpp/gg_tt.mad/bin/internal/gen_ximprove.py
index 7d91ea6a1..ce7cb5735 100755
--- b/epochX/cudacpp/gg_tt.mad/bin/internal/gen_ximprove.py
+++ a/epochX/cudacpp/gg_tt.mad/bin/internal/gen_ximprove.py
@@ -367,8 +367,20 @@ class gensym(object):
done = True
if not done:
raise Exception('Parsing error in gensym: %s' % stdout)
-
- self.cmd.compile(['madevent'], cwd=Pdir)
+
+ cudacpp_backend = self.run_card['cudacpp_backend'] # the default value is defined in banner.py
+ logger.info("Building madevent in madevent_interface.py with '%s' matrix elements"%cudacpp_backend)
+ if cudacpp_backend == 'FORTRAN':
+ self.cmd.compile(['madevent_fortran_link'], cwd=Pdir)
+ elif cudacpp_backend == 'CPP':
+ self.cmd.compile(['madevent_cpp_link'], cwd=Pdir)
+ elif cudacpp_backend == 'CUDA':
+ self.cmd.compile(['madevent_cuda_link'], cwd=Pdir)
+ else:
+ raise Exception("Invalid cudacpp_backend='%s': only 'FORTRAN', 'CPP', 'CUDA' are supported")
+ ###logger.info("Building madevent with ALL(FORTRAN/CPP/CUDA) matrix elements (cudacpp_backend=%s)"%cudacpp_backend)
+ ###self.cmd.compile(['all'], cwd=Pdir)
+
if to_submit:
self.submit_to_cluster(job_list)
job_list = {}
diff --git b/epochX/cudacpp/gg_tt.mad/bin/internal/madevent_interface.py a/epochX/cudacpp/gg_tt.mad/bin/internal/madevent_interface.py
index 9a308cc60..9f8762642 100755
--- b/epochX/cudacpp/gg_tt.mad/bin/internal/madevent_interface.py
+++ a/epochX/cudacpp/gg_tt.mad/bin/internal/madevent_interface.py
@@ -3615,8 +3615,20 @@ Beware that this can be dangerous for local multicore runs.""")
logger.info(' %s ' % subdir)

if os.path.exists(pjoin(Pdir, 'ajob1')):
- self.compile(['madevent'], cwd=Pdir)
-
+
+ cudacpp_backend = self.run_card['cudacpp_backend'] # the default value is defined in banner.py
+ logger.info("Building madevent in madevent_interface.py with '%s' matrix elements"%cudacpp_backend)
+ if cudacpp_backend == 'FORTRAN':
+ self.compile(['madevent_fortran_link'], cwd=Pdir)
+ elif cudacpp_backend == 'CPP':
+ self.compile(['madevent_cpp_link'], cwd=Pdir)
+ elif cudacpp_backend == 'CUDA':
+ self.compile(['madevent_cuda_link'], cwd=Pdir)
+ else:
+ raise Exception("Invalid cudacpp_backend='%s': only 'FORTRAN', 'CPP', 'CUDA' are supported")
+ ###logger.info("Building madevent with ALL (FORTRAN/CPP/CUDA) matrix elements (cudacpp_backend=%s)"%cudacpp_backend)
+ ###self.compile(['all'], cwd=Pdir)
+
alljobs = misc.glob('ajob*', Pdir)

#remove associated results.dat (ensure to not mix with all data)

0 comments on commit 9014fb1

Please sign in to comment.