Skip to content
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

GPU pixel local reconstruction: make the pixel cluster thresholds configurable #33259

Conversation

czangela
Copy link
Contributor

@czangela czangela commented Mar 24, 2021

PR description:

This is an effort towards solving one of the issues in #32483.

Hardcoded charge cuts on pixel clusters were used in:
RecoLocalTracker/SiPixelClusterizer/plugins/gpuClusterChargeCut.h and
RecoLocalTracker/SiPixelClusterizer/plugins/SiPixelDigisClustersFromSoA.cc

Since the GPU version uses these thresholds in the free function gpuClusterChargeCut nested in the gpuClustering namespace, they are propagated through function parameters, passing them by value. They are initially set in the SiPixelRawToClusterCUDA class.

The SiPixelDigisClustersFromSoA has these parameters as private members (as does the legacy version).

PR validation:

These changes should not affect validation results.
Performance should not be affected.

if this PR is a backport please specify the original PR and why you need to backport that PR:

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-33259/21742

  • This PR adds an extra 32KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @czangela for master.

It involves the following packages:

RecoLocalTracker/SiPixelClusterizer

@perrotta, @jpata, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks.
@mtosi, @makortel, @felicepantaleo, @GiacomoSguazzoni, @JanFSchulte, @rovere, @VinInn, @OzAmram, @ferencek, @dkotlins, @gpetruc, @ebrondol, @threus, @tvami this is something you requested to watch as well.
@silviodonato, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@slava77
Copy link
Contributor

slava77 commented Mar 24, 2021

enable gpu

@davidlange6
Copy link
Contributor

davidlange6 commented Mar 24, 2021 via email

@makortel
Copy link
Contributor

why?

Its used somewhere other than this directory

In practice we allow header-only code from plugins to be included in test of the same package.

@davidlange6
Copy link
Contributor

davidlange6 commented Mar 24, 2021 via email

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-33259/21744

  • This PR adds an extra 32KB to repository

  • Found files with invalid states:

    • RecoLocalTracker/SiPixelClusterizer/interface/gpuClusterThresholds.h:
    • RecoLocalTracker/SiPixelClusterizer/plugins/gpuClusterThresholds.h:

@cmsbuild
Copy link
Contributor

Pull request #33259 was updated. @perrotta, @jpata, @cmsbuild, @slava77 can you please check and sign again.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-33259/21745

  • This PR adds an extra 32KB to repository

  • Found files with invalid states:

    • RecoLocalTracker/SiPixelClusterizer/interface/GPUClusterThresholds.h:
    • RecoLocalTracker/SiPixelClusterizer/interface/gpuClusterThresholds.h:
    • RecoLocalTracker/SiPixelClusterizer/plugins/gpuClusterThresholds.h:

@cmsbuild
Copy link
Contributor

Pull request #33259 was updated. @perrotta, @jpata, @cmsbuild, @slava77 can you please check and sign again.

Copy link
Contributor

@mmusich mmusich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it seems there is a lot of unnecessary formatting going on.

czangela added 2 commits April 6, 2021 09:57
…sFromSoA.cc

Make cluster charge cut thresholds configurable for the function gpuClusterChargeCut

Add inline function for threshold choosing

change local includes, use phase1PixelTopology constant
@czangela czangela force-pushed the pixel_local_reco_refactorings_issue2_22_03_2021 branch from 566baed to 822c264 Compare April 6, 2021 07:57
@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 6, 2021

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-33259/21899

  • This PR adds an extra 32KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 6, 2021

Pull request #33259 was updated. @perrotta, @jpata, @cmsbuild, @slava77 can you please check and sign again.

@fwyzard
Copy link
Contributor

fwyzard commented Apr 6, 2021

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 6, 2021

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-bca299/14009/summary.html
COMMIT: 822c264
CMSSW: CMSSW_11_3_X_2021-04-05-2300/slc7_amd64_gcc900
Additional Tests: GPU
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/33259/14009/install.sh to create a dev area with all the needed externals and cmssw changes.

GPU Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 4
  • DQMHistoTests: Total histograms compared: 9338
  • DQMHistoTests: Total failures: 0
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 9338
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 3 files compared)
  • Checked 12 log files, 9 edm output root files, 4 DQM output files
  • TriggerResults: no differences found

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 37
  • DQMHistoTests: Total histograms compared: 2640868
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2640845
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 36 files compared)
  • Checked 155 log files, 37 edm output root files, 37 DQM output files
  • TriggerResults: no differences found

@slava77
Copy link
Contributor

slava77 commented Apr 8, 2021

+reconstruction

for #33259 822c264

  • code changes are in line with the PR description and the follow up review; the changes are not changing the default behavior.
  • jenkins tests pass and comparisons with the baseline show no differences

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 8, 2021

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)

@qliphy
Copy link
Contributor

qliphy commented Apr 8, 2021

+1

@fwyzard
Copy link
Contributor

fwyzard commented Apr 10, 2021

Validation plots

/RelValTTbar_14TeV/CMSSW_11_2_0-PU_112X_mcRun3_2021_realistic_v14-v1/GEN-SIM-DIGI-RAW

  • tracking validation plots and summary for workflow 11634.501
  • tracking validation plots and summary for workflow 11634.502

/RelValZMM_14/CMSSW_11_2_0-112X_mcRun3_2021_realistic_v14-v1/GEN-SIM-DIGI-RAW

  • tracking validation plots and summary for workflow 11634.501
  • tracking validation plots and summary for workflow 11634.502

/RelValZEE_14/CMSSW_11_2_0-112X_mcRun3_2021_realistic_v13-v1/GEN-SIM-DIGI-RAW

  • tracking validation plots and summary for workflow 11634.501
  • tracking validation plots and summary for workflow 11634.502

Validation plots (CPU vs GPU)

/RelValTTbar_14TeV/CMSSW_11_2_0-PU_112X_mcRun3_2021_realistic_v14-v1/GEN-SIM-DIGI-RAW

  • tracking validation plots and summary for workflows 11634.502 and 11634.501

/RelValZMM_14/CMSSW_11_2_0-112X_mcRun3_2021_realistic_v14-v1/GEN-SIM-DIGI-RAW

  • tracking validation plots and summary for workflows 11634.502 and 11634.501

/RelValZEE_14/CMSSW_11_2_0-112X_mcRun3_2021_realistic_v13-v1/GEN-SIM-DIGI-RAW

  • tracking validation plots and summary for workflows 11634.502 and 11634.501

Throughput plots

/EphemeralHLTPhysics1/Run2018D-v1/RAW run=323775 lumi=53

scan-136.885502.png
zoom-136.885502.png
scan-136.885522.png
zoom-136.885522.png

logs and nvprof/nvvp profiles

/RelValTTbar_14TeV/CMSSW_11_2_0-PU_112X_mcRun3_2021_realistic_v14-v1/GEN-SIM-DIGI-RAW

  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.501
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.502
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.511
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.512
    • step3.py: log
    • profile.py: log, profile and summary are missing, see the full log for more information
    • ⚠️ cuda-memcheck --tool initcheck did not run
    • ⚠️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all did not run
    • ⚠️ cuda-memcheck --tool synccheck did not run
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.521
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.522
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885502
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885512
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885522
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.501
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.502
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.511
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.512
    • step3.py: log
    • profile.py: log, profile and summary are missing, see the full log for more information
    • ⚠️ cuda-memcheck --tool initcheck did not run
    • ⚠️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all did not run
    • ⚠️ cuda-memcheck --tool synccheck did not run
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.521
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.522
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885502
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885512
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885522

/RelValZMM_14/CMSSW_11_2_0-112X_mcRun3_2021_realistic_v14-v1/GEN-SIM-DIGI-RAW

  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.501
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.502
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.511
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.512
    • step3.py: log
    • profile.py: log, profile and summary are missing, see the full log for more information
    • ⚠️ cuda-memcheck --tool initcheck did not run
    • ⚠️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all did not run
    • ⚠️ cuda-memcheck --tool synccheck did not run
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.521
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.522
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885502
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885512
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885522
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.501
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.502
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.511
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.512
    • step3.py: log
    • profile.py: log, profile and summary are missing, see the full log for more information
    • ⚠️ cuda-memcheck --tool initcheck did not run
    • ⚠️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all did not run
    • ⚠️ cuda-memcheck --tool synccheck did not run
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.521
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.522
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885502
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885512
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885522

/RelValZEE_14/CMSSW_11_2_0-112X_mcRun3_2021_realistic_v13-v1/GEN-SIM-DIGI-RAW

  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.501
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.502
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.511
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.512
    • step3.py: log
    • profile.py: log, profile and summary are missing, see the full log for more information
    • ⚠️ cuda-memcheck --tool initcheck did not run
    • ⚠️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all did not run
    • ⚠️ cuda-memcheck --tool synccheck did not run
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.521
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.522
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885502
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885512
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885522
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.501
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.502
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.511
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.512
    • step3.py: log
    • profile.py: log, profile and summary are missing, see the full log for more information
    • ⚠️ cuda-memcheck --tool initcheck did not run
    • ⚠️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all did not run
    • ⚠️ cuda-memcheck --tool synccheck did not run
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.521
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.522
    • ✔️ step3.py: log
    • ✔️ profile.py: log
    • ✔️ cuda-memcheck --tool initcheck (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool memcheck --leak-check full --report-api-errors all (report, log) did not find any errors
    • ✔️ cuda-memcheck --tool synccheck (report, log) did not find any errors
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885502
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885512
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885522

/EphemeralHLTPhysics1/Run2018D-v1/RAW run=323775 lumi=53

  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.501
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.502
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.511
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.512
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.521
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.522
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885502
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885512
    • step3.py: log
    • profile.py: log, profile and summary are missing, see the full log for more information
  • reference/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885522
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.501
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.502
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.511
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.512
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.521
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 11634.522
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885502
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885512
    • step3.py: log
    • profile.py: log, profile and summary are missing, see the full log for more information
  • testing/CMSSW_11_3_X_2021-04-05-2300 release, workflow 136.885522

Logs

The full log is available at https://patatrack.web.cern.ch/patatrack/validation/pulls/76aa9395efd4ab14ef07889fe506d0686f0d973b/log .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants