Merge lp:~maddevelopers/mg5amcnlo/PY8_parallelization into lp:~maddevelopers/mg5amcnlo/2.5.1
Status: | Merged |
---|---|
Merge reported by: | Olivier Mattelaer |
Merged at revision: | not available |
Proposed branch: | lp:~maddevelopers/mg5amcnlo/PY8_parallelization |
Merge into: | lp:~maddevelopers/mg5amcnlo/2.5.1 |
Diff against target: |
210 lines (+60/-46) 4 files modified
madgraph/interface/common_run_interface.py (+1/-1) madgraph/interface/madevent_interface.py (+13/-12) madgraph/various/lhe_parser.py (+41/-33) madgraph/various/systematics.py (+5/-0) |
To merge this branch: | bzr merge lp:~maddevelopers/mg5amcnlo/PY8_parallelization |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Olivier Mattelaer | Needs Fixing | ||
Review via email: mp+304844@code.launchpad.net |
This proposal supersedes a proposal from 2016-09-03.
Description of the change
This branch implements PY8 LO parallelization.
It is fully functional and has been tested for a few cases (not exhaustive yet).
The remaining issues are:
1) [Not related to this branch] Systematics parallelization crash when using a cluster_
2) [Not related to this branch] The PY8 HTML is screwed up past the first run/tag.
3) The .lhe splitting is slow. It would be nice to have an advanced function for this in lhe_parser.py that bypasses the (full) parsing of the event files.
Also, obtaining the number of events in the event file is slow. Again an optimized static method for this bypassing the full parsing would be nice.
4) The merging of the split HEPMC is done in a very efficient way in this branch (very important given their size). However it use two system calls which are not secure. They need to be made secure.
5) More testing must be made, especially a comparison of the results between parallel and sequential runs for the merged_x_secs, HwU plots et hepmc event files must be performed so as to guarantee the correctness of the implementation.
6) The new bits of code in do_pythia8() could be a bit more refactored. In particular the two parts of the code related to parallel submission and merging of split results could be factored out in dedicated functions.
Olivier, could you review this and fix what you can already.
I you manage to clean it up all, then don't hesitate to merge this already to 2.5.1 (or even 2.5.0 since it is a nice feature and introduces some important bug fixing).
If there is still something that needs to be discussed with me, then we will only be able to do this on tuesday, since I will be mostly unavailable 'til then now.
Thanks,
To test the above on a condor cluster, one must re-install MG5aMC_ PY8_interface, because I modified its installation so that it links *statically* against HEPMC2 so that it doesn't have to be found on the worker nodes at run time.