-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Heterogeneous HGCAL RecHit Calibration #32683
Conversation
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32683/20786
Code check has found code style and quality issues which could be resolved by applying following patch(s)
|
it looks like the commit history includes a lot of unrelated files that were subsequently removed. |
@rovere fyi |
in addition to #32683 (comment):
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32683/20830
|
A new Pull Request was created by @b-fontana for master. It involves the following packages: CUDADataFormats/HGCal The following packages do not have a category, yet: CUDADataFormats/HGCal @andrius-k, @ianna, @kpedro88, @ggovi, @fioriNTU, @tlampen, @pohsun, @perrotta, @civanch, @yuanchao, @makortel, @ErnestaP, @cmsbuild, @fwyzard, @Dr15Jones, @cvuosalo, @mdhildreth, @jfernan2, @slava77, @jpata, @kmaeshima, @christopheralanwest, @srimanob can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
+1
|
+1 |
+1 |
@cms-sw/db-l2 @cms-sw/alca-l2 @cms-sw/db-l2 @cms-sw/upgrade-l2 do you have any comment? |
kind reminder @cms-sw/db-l2 @cms-sw/alca-l2 @cms-sw/upgrade-l2 |
+1 |
+Upgrade |
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
#include "CUDADataFormats/HGCal/interface/HGCConditions.h" | ||
#include "Geometry/HGCalCommonData/interface/HGCalDDDConstants.h" | ||
#include "Geometry/HGCalCommonData/interface/HGCalParameters.h" | ||
#include "RecoLocalCalo/HGCalRecProducers/plugins/KernelManagerHGCalCellPositions.h" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @b-fontana @cms-sw/reconstruction-l2 @cms-sw/alca-l2 -including stuff from a plugin directory is not allowed in cmssw. (the change also seems contrary to the title of this PR..)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it looks it could simply be dropped ?
at least, I don't see KernelManagerHGCalCellPositions
used anywhere in this file.
Description:
Porting of the HGCAL RecHit calibration code (
RecoLocalCalo/HGCalRecProducers/plugins/HGCalRecHitProducer.cc
and related) to GPUs using CUDA.The GPU version introduces a code split between the three subdetectors which comprise HGCAL, so that their respective modules can run independently. Each subdetector includes three modules:
UncalibRecHit
-to-SoA conversion, host-to-device transfer and GPU kernel execution (RecoLocalCalo/HGCalRecProducers/plugins/{EE,HEF,HEB}RecHitGPU.cc
)RecoLocalCalo/HGCalRecProducers/plugins/{EE,HEF,HEB}RecHitGPUtoSoA.cc
)RecHit
class (RecoLocalCalo/HGCalRecProducers/plugins/{EE,HEF,HEB}RecHitFromSoA.cc
)The modules can be run with:
where PU can also be 50, 100, 140 and 200.
The input data is currently available under
/home/bfontana/
inpatatrack02
, in both ROOT compressed and uncompressed formats (uncompressed PU200 is missing due to lack of space).Validation:
Code available in
Validation/HGCalValidation/plugins/HGCalRecHitValidation.cc
. It produces ROOT histograms with the CPU and GPU outputs, and their residuals. It can be run withTiming:
where PU and which version to use (GPU or CPU) must be specified manually in the above python file.
Several measurements are available here, showing that both the CPU and the GPU versions are mostly I/O bound.
Tests:
The recipe described here was followed. Everything run properly except some of the tests (
scram b runtests
):test runtestRecoEgammaElectronIdentification had ERRORS
test test_CreateFileLists had ERRORS
test testAlignmentOfflineValidation had ERRORS
test testPVPlotting had ERRORS
test testSSTGainPCL_fromRECO had ERRORS
test testSSTGainPCL_fromRECO had ERRORS
test checkMultiRunHarvestingOutput had ERRORS
runTheMatrix.py -l limited -i all --ibeos
was successful: