-
Notifications
You must be signed in to change notification settings - Fork 37
Description
This is an updated workplan (as of May 2023) towards a first alpha release. It follows up on and replaces the previous workplan from December 2022 in #576, where several issues have been fixed, but some are still open, and in addition many new ones have appeared.
The plan is essentially that I presented at the dev meeting last Monday in https://indico.cern.ch/event/1288364/
Trying to put things in order (but I also indicate the numbers of #576)
Licensing etc (non technical blocker) - new with respect to #576
- done for cudacpp (Andrea): MR add COPYRIGHT and LGPL to CUDACPP plugin and generated code #643
General resync of madgraph4gpu to upstream mg5amcnlo (blocker) - this was in point 2 in #576
- done (Andrea, Olivier): MR Update upstream mg5amcnlo, including vecsizeFIX rollback and patches for CMS Drell Yan #654 fixing "launch" in My "vecsize" patches have broken mg5amcnlo "launch" for the default Fortran madevent #629 and cleaning up vector.inc
Relocatable builds - this was part of point 3 in #576, even if not explicitly mentioned there
- todo generated code must be relocatable (must build outside the madgraph4gpu project) #613 generated code must build/run outside madgraph4gpu, including:
- done: random numbers (Zenny, Andrea) in MRs added CommonRandomNumbers.h to code generation #657, Complete the patch for CommonRandomNumbers.h #662, removed superfluous CommonRandomNumbers.h #663, Add back tools/CommonRandomNumbers.h #665
- todo: google tests, wip (Andrea) in MR make googletest-based tests relocatable #666
Handling of multiple P1/P2/... subprocesses (blocker for this common use case) - part of point 6 in #576
- done (Andrea) MR add pp_tttt to codegen and fix its builds (two P1 subdirectories which need different nwf values) #560 fixing Process-specific paramaters are stored in common /src/ directory #644 different nwf values in different P1 directories
- wip (Andrea) MR move more process-dependent parameters (npar, ncomb...) from mgOnGpuConfig.h to CPPProcess.h #668 fixing Number of particles with add_process #667 different npar values in P1 and P2 directories [the patch also introduced and later fixed performance regression Performance regression: replacing int by size_t (while moving npar to CPPProcess.h) increases the number of registers #669, register pressure from int vs size_t]
Madevent application cleanup (blocker) - this was in point 3 of #576
- todo Remove non-standard features of madevent application (in particular, remove two extra parameters in input files) #658 fix parameter input, decide on executable names, decide on vector builds (Stefan's WIP in MR WIP: towards a workflow #620)
Cleanup of other build issues (~blocker for c++-only builds?) - new added June 4
- wip Remove C++ code dependencies on CUDA headers, except where curand is needed #679 remove C++ build dependencies on CUDA headers, except where needed
Port post-generation patches upstream (blocker) - this was part of 2 in #576
- todo Port post-generation patches (patchMad.sh) upstream to mg5amcnlo or to the plugin #656: remove patchMad.sh, patch.P1, patch.common (includes proper generation of coloramps.h)
Test the launch functionality (blocker) - this was point 5 in #576
- todo: performance tests checking gridpack parameters (possible also with gridpacks, eg Stefan's MR WIP: towards a workflow #620)
- todo Test the "launch" functionality using GPU and vectorized CPP #659 test the fully integrated launch, rather than from gridpacks
Cross check handling of parameters (blocker) - this was point 4 in #576
- todo Initial cleanup of parameter card for the release #660 ensure correct handling of parameters after full "launch" integration
Copy plugins to mg5amcnlo (~blocker: the final blocker step?) - new with respect to #576
- todo upload plugins upstream to mg5amcnlo #661 create new repos, copy cudacpp and sycl plugins, integrate changes in mg5amcnlo upstream
- todo (Olivier) MG5aMC status #867 clean up the gpucpp branch (from mg5amcnlo) to have this plugin integrable mainstream
Cleanup of color (high priority for physics results, but not a technical blocker) - this was point 1 in #576
- todo (Olivier) Problems in ggttgg lhe files after the latest upstream changes (replacing channel by iconfig in select_color) #655: check 'select_color'
- todo (Olivier): confirm that coloramps.inc is correct (and possibly understand why coloramps.h gives different values in codegen)
Experiment integration (our final goal - to be tested both before and after the release) - ~part of point 6 in #576
- wip (Stefan) Test integration in ATLAS gridpack production #673 test integration in ATLAS gridpack production
- todo Test integration in CMS gridpack production #672 test integration in CMS gridpack production
Other physics validation issues (high priority for the experiments, not strictly technical blockers) - ~part of point 6 in #576
- todo xsec from fortran and cpp differ in gg_uu tmad tests (bug in getGoodHel implementation) #630 cross section mismatch in Fortran and cudacpp for gq_ttq
- todo Check that Fortran results are the same with and without vector interfaces #678 check that Fortran cross sections and LHE files are the same with and without vector interfaces
SM process-specific issues (high priority for the experiments, not strictly technical blockers) - ~part of point 6 in #576
- done (Olivier) Problem for CKKW merging algorithm (for the "CMS Drell Yan" process) #645 CMS Drell-Yan CKKW
- todo wip (Andrea, Olivier) wrong type argument to unary minus (FFV functions should not use "-COUPs" as argument) #628 unary minus on pointers -COUP in FFV calls
BSM process-specific issues (varying, lower priorities) - ~part of point 6 in #576
- todo Support for non-SM UFO models: standard build, HRDCOD=0 build fails in model SMEFTsim_topU3l_MwScheme_UFO #616 SMEFT HRDCOD=0 builds fail (BSM only supports HRDCOD=1 currently), high priority for Zenny/Robert
- todo Support for non-SM UFO models: HRDCOD=1 build fails in model SMEFTsim_topU3l_MwScheme_UFO #614 SMEFT HRDCOD=1 builds fail, lower priority but easier to fix than the one above
- todo SUSY HRDCOD=1 builds fail because sin/cos/atan are not constexpr (only CUDA fails, while C++ succeeds) #627 SUSY HRDCOD=1 builds fail because sin/cos/atan are not constexpr, low priority
- todo Support for non-SM UFO models: code generation fails in model EWdim6 #615 exostic SMEFT codegen fails, low priority