Madgraph5 GPU development - !! ATTENTION Tuesday 15:00 CEST !!
Virtual (Zoom)
# Madgraph dev meeting 28.09.2021
Present: SR, OM, AV, SH, TaylorC, CarlVuosalo, DavidSmith, NathanNichols, WalterH
## OpenMP (Olivier)
Work on the Fortran side, also possibly related to vectorization.
Preparing an API to interface the new code (for GPU and for vectorization)
Also some OpenMp tests (in Fortran).
OpenMP is worse than multi-process - but it is better if the numbers of MEs per bunch is increased.
AV: suggest to show throughput vs parallelism rather than computatiion time vs parallelism
AV: about openmp, had also observed that it is no good, would suggest trying c++ threads
See https://github.com/madgraph5/madgraph4gpu/issues/196#issuecomment-831896974
TC: with Kokkos we'll get openmp for free :-)
It would be nice to compare kokkos openmp to this openmp
AV/SR: is this interface/work also for parallelism in cuda?
OM: yes same idea, but scale is very different, O(10) for vectorization or MT, O(1000) for CUDA
SR: had a discussion offline with OM, Olivier mentioned that he passes more things than exists
OM: yes, slide 3, there is the list of info that is still missing to pass between fortran and c++/cuda
## Round table
Stephan: ntr, will work on other things at least for three weeks
Would like to work on Llama as a demonstrator
Nathan - Taylor: Nathan is a postdoc in Argonne, he joined a few weeks ago after Tyler left
He has a background in quantum montecarlo, he will work on sycl starting from what Laurence created
Will test this on the Intel hardware at Argonne (but some is in NDA!)
SR: I will ping Laurence to ask him for the sycl code changes he did with some Intel engineers
Taylor: ntr, wanted to start digging into code generation but had no time yet due to other projects
Andrea: two slides about code generation
- SR: two WIP, can we agree that you merge the PR only when red and purple are in sync?
AV: yes, while preparing the PR there are many commits and this cannot be in sync,
but for the final MRs the idea is that they should all be in the steday state.
- SR: can we agree on a directory naming, also for Andy's scripts?
It should be the same name as in Subprocesses
AV: ok, I will ask you the details of the names we should use.
- SR: beautifier? AV: three things. Worked on clang-format in the past but opted to drop the idea.
There is CppWriter in upstream MG, but decided against it. Essentially doing some indentation in python
before sending text lines to FileWriter.
- SR: would the second MR be essentially the ggttgg golden tag? AV: yes, this is the idea
- SH: if you have both manual and auto generated, do you need both in the repo?
Some discussion. Agree that we try to merge PRs only in the steady state, but not for individual commits.
Andrea:
- Yesterday Julia workshop, interesting comments about wanting to have generators in julia
Discussion with TC/OM about abstraction layers and portability
- LHCC review, document prepared. Meeting will be 1-5 Novemeber, would be nice to agree on numbers
if they ask us for details. Trying to understand if some generator authors can attend the meeting.
David
- Working on code generation for alpaka. Comparing the outputs and thinking how to produce code.
Stefan
- Discussed API signature with Olivier. There is a bazaar branch tha contains the first candidate.
For the moment only passing the four-momenta.
## AOB
Next meeting?
October 11 would be next day, but there is directorate meeting. Maybe 3.30pm instead of 3pm? DS not available on Oct 11.
Agree for Tuesday October 12 at 3pm.
CHEP2022 has been delayed again by one year.
SR: there may be an HSF/WLCG workshop instead