cmssw icon indicating copy to clipboard operation
cmssw copied to clipboard

Alpaka Multi-depth particle flow clusterizer

Open alexstrel opened this issue 6 months ago • 81 comments

PR description:

This PR introduces an Alpaka-based implementation of the multi-depth particle flow clustering algorithm, which makes extensive use of warp-level operations. Due to the inherently non-local nature of the algorithm, we implemented custom masked warp intrinsics currently not available in the Alpaka library. Additionally, we utilized the extended ECL-CC (connected component detection) graph algorithm to support this use case. This extension involves reorganizing SoA data objects into a CSR (Compressed Sparse Row) format during both pre-processing and post-processing stages to enable efficient graph traversal.

Resolves https://github.com/cms-sw/framework-team/issues/1139

PR validation:

The implementation expects input data to be provided in device-resident SoA format.

alexstrel avatar Jun 04 '25 16:06 alexstrel

cms-bot internal usage

cmsbuild avatar Jun 04 '25 16:06 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45055

  • Found files with invalid states:

    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterProducer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2, 9628000665c990826b58c4d68eb6cf5ec612a0af
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8
      • Modified: f094aac031e69c1c50d23d041451a5b2c0d31951
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8
  • There are other open Pull requests which might conflict with changes you have proposed:

    • File DataFormats/ParticleFlowReco/interface/PFClusterSoA.h modified in PR(s): #48216

Code check has found code style and quality issues which could be resolved by applying following patch(s)

  • code-format: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45055/code-format.patch e.g. curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45055/code-format.patch | patch -p1 You can also run scram build code-format to apply code format directly

cmsbuild avatar Jun 04 '25 16:06 cmsbuild

assign heterogeneous

jfernan2 avatar Jun 05 '25 09:06 jfernan2

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45071

  • Found files with invalid states:
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterProducer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2, 9628000665c990826b58c4d68eb6cf5ec612a0af
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8
      • Modified: f094aac031e69c1c50d23d041451a5b2c0d31951
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8

Code check has found code style and quality issues which could be resolved by applying following patch(s)

  • code-format: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45071/code-format.patch e.g. curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45071/code-format.patch | patch -p1 You can also run scram build code-format to apply code format directly

cmsbuild avatar Jun 05 '25 17:06 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45076

  • Found files with invalid states:
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterProducer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2, 9628000665c990826b58c4d68eb6cf5ec612a0af
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8
      • Modified: f094aac031e69c1c50d23d041451a5b2c0d31951
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8

Code check has found code style and quality issues which could be resolved by applying following patch(s)

  • code-format: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45076/code-format.patch e.g. curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45076/code-format.patch | patch -p1 You can also run scram build code-format to apply code format directly

cmsbuild avatar Jun 05 '25 19:06 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45077

  • Found files with invalid states:
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterProducer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2, 9628000665c990826b58c4d68eb6cf5ec612a0af
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8
      • Modified: f094aac031e69c1c50d23d041451a5b2c0d31951
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8

Code check has found code style and quality issues which could be resolved by applying following patch(s)

  • code-format: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45077/code-format.patch e.g. curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45077/code-format.patch | patch -p1 You can also run scram build code-format to apply code format directly

cmsbuild avatar Jun 05 '25 19:06 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45087

ERROR: Build errors found during clang-tidy run.

src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizerHelper.h:15:10: error: 'RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterWarpIntrinsics.h' file not found [clang-diagnostic-error]
   15 | #include "RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterWarpIntrinsics.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1152 warnings (1152 in non-user code).
--
gmake: *** [config/SCRAM/GMake/Makefile.coderules:129: code-checks] Error 2
gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2

cmsbuild avatar Jun 06 '25 14:06 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45089

ERROR: Build errors found during clang-tidy run.

      |                                     ^
/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02892/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_X_2025-06-06-1100/src/DataFormats/Portable/interface/PortableHostCollection.h:25:3: note: 'PortableHostCollection' has been explicitly marked deleted here
--
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterSoAProducer.cc:103:21: error: no member named 'emplace' in 'PortableHostCollection<reco::PFClusterSoALayout<>>' [clang-diagnostic-error]
  103 |       outPFClusters.emplace(*nClusters_, event.queue());
      |       ~~~~~~~~~~~~~ ^
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterSoAProducer.cc:104:24: error: no member named 'emplace' in 'PortableHostCollection<reco::PFRecHitFractionSoALayout<>>' [clang-diagnostic-error]
  104 |       outPFRHFractions.emplace(nRH_, event.queue());
      |       ~~~~~~~~~~~~~~~~ ^
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterSoAProducer.cc:106:42: error: non-const lvalue reference to type 'reco::PFClusterDeviceCollection' (aka 'PortableHostCollection<reco::PFClusterSoALayout<128, false>>') cannot bind to a value of unrelated type 'View' (aka 'ViewTemplateFreeParams<128UL, false, true, true>') [clang-diagnostic-error]
  106 |       clusterizer_->apply(event.queue(), *outPFClusters, *outPFRHFractions, pfClusters, pfRecHitFractions, pfRecHits);
      |                                          ^~~~~~~~~~~~~~
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.h:57:49: note: passing argument to parameter 'outPFCluster' here
--
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterSoAProducer.cc:108:21: error: no member named 'emplace' in 'PortableHostCollection<reco::PFClusterSoALayout<>>' [clang-diagnostic-error]
  108 |       outPFClusters.emplace(0, event.queue());
      |       ~~~~~~~~~~~~~ ^
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterSoAProducer.cc:109:24: error: no member named 'emplace' in 'PortableHostCollection<reco::PFRecHitFractionSoALayout<>>' [clang-diagnostic-error]
  109 |       outPFRHFractions.emplace(0, event.queue());
      |       ~~~~~~~~~~~~~~~~ ^
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterSoAProducer.cc:112:46: warning: std::move of the expression of the trivially-copyable type 'View' (aka 'ViewTemplateFreeParams<128UL, false, true, true>') has no effect [performance-move-const-arg]
--
gmake: *** [config/SCRAM/GMake/Makefile.coderules:129: code-checks] Error 2
gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2

cmsbuild avatar Jun 06 '25 14:06 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45138

  • Found files with invalid states:
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterProducer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2, 9628000665c990826b58c4d68eb6cf5ec612a0af
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8, 833875e49a3668625e0a0d15956c39310b3ea59e
      • Modified: f094aac031e69c1c50d23d041451a5b2c0d31951
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusteringVarsHostCollection.h:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Deleted: 833875e49a3668625e0a0d15956c39310b3ea59e
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterWarpIntrinsics.h:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Modified: 4776d74b7e789e26422f39e000b69a76942df8e8
      • Deleted: 833875e49a3668625e0a0d15956c39310b3ea59e
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterizerHelper.h:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Modified: 4776d74b7e789e26422f39e000b69a76942df8e8, 892827cf4b812c8f001e17098f7f54e8810b4b0e
      • Deleted: 833875e49a3668625e0a0d15956c39310b3ea59e
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8

Code check has found code style and quality issues which could be resolved by applying following patch(s)

  • code-format: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45138/code-format.patch e.g. curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45138/code-format.patch | patch -p1 You can also run scram build code-format to apply code format directly

cmsbuild avatar Jun 10 '25 19:06 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45169

  • Found files with invalid states:
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterProducer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2, 9628000665c990826b58c4d68eb6cf5ec612a0af
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8, 833875e49a3668625e0a0d15956c39310b3ea59e
      • Modified: f094aac031e69c1c50d23d041451a5b2c0d31951
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusteringVarsHostCollection.h:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Deleted: 833875e49a3668625e0a0d15956c39310b3ea59e
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterWarpIntrinsics.h:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Modified: 4776d74b7e789e26422f39e000b69a76942df8e8
      • Deleted: 833875e49a3668625e0a0d15956c39310b3ea59e
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterizerHelper.h:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Modified: 4776d74b7e789e26422f39e000b69a76942df8e8, 892827cf4b812c8f001e17098f7f54e8810b4b0e
      • Deleted: 833875e49a3668625e0a0d15956c39310b3ea59e
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.cc:
      • Added: 263032861eaba1131073cf32ed459dff654cecd2
      • Deleted: 4776d74b7e789e26422f39e000b69a76942df8e8

Code check has found code style and quality issues which could be resolved by applying following patch(s)

  • code-format: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45169/code-format.patch e.g. curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45169/code-format.patch | patch -p1 You can also run scram build code-format to apply code format directly

cmsbuild avatar Jun 12 '25 14:06 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45503

ERROR: Build errors found during clang-tidy run.

src/RecoParticleFlow/PFClusterProducer/interface/PFMultiDepthClusteringVarsSoA.h:6:10: error: 'DataFormats/SoATemplate/interface/SoAView.h' file not found [clang-diagnostic-error]
    6 | #include "DataFormats/SoATemplate/interface/SoAView.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1152 warnings (1152 in non-user code).
--
src/RecoParticleFlow/PFClusterProducer/interface/PFMultiDepthClusteringVarsSoA.h:6:10: error: 'DataFormats/SoATemplate/interface/SoAView.h' file not found [clang-diagnostic-error]
    6 | #include "DataFormats/SoATemplate/interface/SoAView.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1228 warnings (1228 in non-user code).
--
gmake: *** [config/SCRAM/GMake/Makefile.coderules:129: code-checks] Error 2
gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2

cmsbuild avatar Jul 14 '25 17:07 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45523

ERROR: Build errors found during clang-tidy run.

src/RecoParticleFlow/PFClusterProducer/interface/PFMultiDepthClusteringVarsSoA.h:6:10: error: 'DataFormats/SoATemplate/interface/SoAView.h' file not found [clang-diagnostic-error]
    6 | #include "DataFormats/SoATemplate/interface/SoAView.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1152 warnings (1152 in non-user code).
--
src/RecoParticleFlow/PFClusterProducer/interface/PFMultiDepthClusteringVarsSoA.h:6:10: error: 'DataFormats/SoATemplate/interface/SoAView.h' file not found [clang-diagnostic-error]
    6 | #include "DataFormats/SoATemplate/interface/SoAView.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1228 warnings (1228 in non-user code).
--
gmake: *** [config/SCRAM/GMake/Makefile.coderules:129: code-checks] Error 2
gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2

cmsbuild avatar Jul 16 '25 16:07 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/45530

ERROR: Build errors found during clang-tidy run.

src/RecoParticleFlow/PFClusterProducer/interface/PFMultiDepthClusteringEdgeVarsSoA.h:6:10: error: 'DataFormats/SoATemplate/interface/SoAView.h' file not found [clang-diagnostic-error]
    6 | #include "DataFormats/SoATemplate/interface/SoAView.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1152 warnings (1152 in non-user code).
--
src/RecoParticleFlow/PFClusterProducer/interface/PFMultiDepthClusteringEdgeVarsSoA.h:6:10: error: 'DataFormats/SoATemplate/interface/SoAView.h' file not found [clang-diagnostic-error]
    6 | #include "DataFormats/SoATemplate/interface/SoAView.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1228 warnings (1228 in non-user code).
--
gmake: *** [config/SCRAM/GMake/Makefile.coderules:129: code-checks] Error 2
gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2

cmsbuild avatar Jul 17 '25 15:07 cmsbuild

@alexstrel , DataFormats/SoATemplate/interface/SoAView.h has been merged into DataFormats/SoATemplate/interface/SoALayout.h in https://github.com/cms-sw/cmssw/pull/48216 .

Can you update this PR accordingly ? Just removing

-#include "DataFormats/SoATemplate/interface/SoAView.h"

everywhere should be enough.

fwyzard avatar Jul 25 '25 05:07 fwyzard

-heterogeneous

Needs to be rebased.

fwyzard avatar Jul 25 '25 06:07 fwyzard

Milestone for this pull request has been moved to CMSSW_16_0_X. Please open a backport if it should also go in to CMSSW_15_1_X.

cmsbuild avatar Sep 10 '25 06:09 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46193

ERROR: Build errors found during clang-tidy run.

src/RecoParticleFlow/PFClusterProducer/interface/PFMultiDepthClusteringEdgeVarsSoA.h:6:10: error: 'DataFormats/SoATemplate/interface/SoAView.h' file not found [clang-diagnostic-error]
    6 | #include "DataFormats/SoATemplate/interface/SoAView.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1152 warnings (1152 in non-user code).
--
src/RecoParticleFlow/PFClusterProducer/interface/PFMultiDepthClusteringEdgeVarsSoA.h:6:10: error: 'DataFormats/SoATemplate/interface/SoAView.h' file not found [clang-diagnostic-error]
    6 | #include "DataFormats/SoATemplate/interface/SoAView.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1227 warnings (1227 in non-user code).
--
gmake: *** [config/SCRAM/GMake/Makefile.coderules:129: code-checks] Error 2
gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2

cmsbuild avatar Sep 26 '25 15:09 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46409

ERROR: Build errors found during clang-tidy run.

src/RecoParticleFlow/PFClusterProducer/interface/PFMultiDepthClusteringEdgeVarsSoA.h:6:10: error: 'DataFormats/SoATemplate/interface/SoAView.h' file not found [clang-diagnostic-error]
    6 | #include "DataFormats/SoATemplate/interface/SoAView.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1154 warnings (1154 in non-user code).
--
src/RecoParticleFlow/PFClusterProducer/interface/PFMultiDepthClusteringEdgeVarsSoA.h:6:10: error: 'DataFormats/SoATemplate/interface/SoAView.h' file not found [clang-diagnostic-error]
    6 | #include "DataFormats/SoATemplate/interface/SoAView.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1229 warnings (1229 in non-user code).
--
gmake: *** [config/SCRAM/GMake/Makefile.coderules:129: code-checks] Error 2
gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2

cmsbuild avatar Oct 10 '25 14:10 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46411

ERROR: Build errors found during clang-tidy run.

src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterECLCC.h:231:78: error: comparison of integers of different signs: 'Idx' (aka 'unsigned int') and 'const int' [clang-diagnostic-sign-compare]
  231 |         const unsigned int active_lanes_mask = alpaka::warp::ballot(acc, idx < args.nClusters);
      |                                                                          ~~~ ^ ~~~~~~~~~~~~~~
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.dev.cc:74:17: note: in instantiation of function template specialization 'alpaka_serial_sync::CCGAlgorithm<alpaka_serial_sync::CCGAlgorithmArgs<alpaka::BufCpu<int, std::integral_constant<unsigned long, 1>, unsigned int>>>::compute_mid_degree_vertices<alpaka::AccCpuSerial<std::integral_constant<unsigned long, 1>, unsigned int>>' requested here
--
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterECLCC.h:233:17: error: comparison of integers of different signs: 'Idx' (aka 'unsigned int') and 'const int' [clang-diagnostic-sign-compare]
  233 |         if (idx >= args.nClusters)
      |             ~~~ ^  ~~~~~~~~~~~~~~
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterECLCC.h:279:25: error: comparison of integers of different signs: 'Idx' (aka 'unsigned int') and 'const int' [clang-diagnostic-sign-compare]
  279 |           if (idx.local >= args.nClusters)
      |               ~~~~~~~~~ ^  ~~~~~~~~~~~~~~
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.dev.cc:76:17: note: in instantiation of function template specialization 'alpaka_serial_sync::CCGAlgorithm<alpaka_serial_sync::CCGAlgorithmArgs<alpaka::BufCpu<int, std::integral_constant<unsigned long, 1>, unsigned int>>>::compute_high_degree_vertices<alpaka::AccCpuSerial<std::integral_constant<unsigned long, 1>, unsigned int>>' requested here
--
src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterECLCC.h:292:27: error: comparison of integers of different signs: 'Idx' (aka 'unsigned int') and 'const int' [clang-diagnostic-sign-compare]
  292 |             if (idx.local >= args.nClusters)
      |                 ~~~~~~~~~ ^  ~~~~~~~~~~~~~~
Suppressed 1504 warnings (1497 in non-user code, 4 NOLINT, 3 with check filters).
--
gmake: *** [config/SCRAM/GMake/Makefile.coderules:129: code-checks] Error 2
gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2

cmsbuild avatar Oct 10 '25 14:10 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46415

  • Found files with invalid states:
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterProducer_Alpaka.cc:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87, b37facd213c7e69a3d359b9306298e93c7a21339
      • Deleted: 7d98a4842fc0e155d740733bfde830df2b4c8f5e, 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
      • Modified: 47539d53a4183cc2b94f7b85749c84760e11016d
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusteringVarsHostCollection.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterWarpIntrinsics.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Modified: 7d98a4842fc0e155d740733bfde830df2b4c8f5e
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterizerHelper.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Modified: 7d98a4842fc0e155d740733bfde830df2b4c8f5e, 894973865f9cf945969646e299a8c5c2b9cadb6f
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.cc:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Deleted: 7d98a4842fc0e155d740733bfde830df2b4c8f5e

Code check has found code style and quality issues which could be resolved by applying following patch(s)

  • code-format: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46415/code-format.patch e.g. curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46415/code-format.patch | patch -p1 You can also run scram build code-format to apply code format directly

cmsbuild avatar Oct 11 '25 02:10 cmsbuild

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46416

  • Found files with invalid states:
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterProducer_Alpaka.cc:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87, b37facd213c7e69a3d359b9306298e93c7a21339
      • Deleted: 7d98a4842fc0e155d740733bfde830df2b4c8f5e, 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
      • Modified: 47539d53a4183cc2b94f7b85749c84760e11016d
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusteringVarsHostCollection.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterWarpIntrinsics.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Modified: 7d98a4842fc0e155d740733bfde830df2b4c8f5e
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterizerHelper.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Modified: 7d98a4842fc0e155d740733bfde830df2b4c8f5e, 894973865f9cf945969646e299a8c5c2b9cadb6f
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.cc:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Deleted: 7d98a4842fc0e155d740733bfde830df2b4c8f5e

cmsbuild avatar Oct 11 '25 04:10 cmsbuild

New categories assigned: heterogeneous

@fwyzard,@makortel you have been requested to review this Pull request/Issue and eventually sign? Thanks

cmsbuild avatar Oct 11 '25 04:10 cmsbuild

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

It involves the following packages:

  • RecoParticleFlow/PFClusterProducer (reconstruction)

@cmsbuild, @fwyzard, @jfernan2, @makortel, @mandrenguyen can you please review it and eventually sign? Thanks. @felicepantaleo, @hatakeyamak, @lgray, @mmarionncern, @rovere, @sameasy, @seemasharmafnal this is something you requested to watch as well. @ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

cmsbuild avatar Oct 11 '25 04:10 cmsbuild

enable gpu

fwyzard avatar Oct 13 '25 10:10 fwyzard

please test

fwyzard avatar Oct 13 '25 10:10 fwyzard

Is there an offline workflow that exercises the new code ?

fwyzard avatar Oct 13 '25 10:10 fwyzard

-1

Failed Tests: nvidia_h100UnitTests nvidia_l40sUnitTests nvidia_t4UnitTests Size: This PR adds an extra 16KB to repository Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-750ba6/48636/summary.html COMMIT: 18e0019a07f37438c9c0958ab9d129c6e253b6dc CMSSW: CMSSW_16_0_X_2025-10-13-1100/el8_amd64_gcc13 Additional Tests: GPU,AMD_MI300X,AMD_W7900,NVIDIA_H100,NVIDIA_L40S,NVIDIA_T4 User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/48248/48636/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 1 lines to the logs
  • Reco comparison results: 2 differences found in the comparisons
  • DQMHistoTests: Total files compared: 51
  • DQMHistoTests: Total histograms compared: 3940073
  • DQMHistoTests: Total failures: 24
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3940029
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 50 files compared)
  • Checked 218 log files, 188 edm output root files, 51 DQM output files
  • TriggerResults: no differences found

AMD_MI300X Comparison Summary

Summary:

AMD_W7900 Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 238 differences found in the comparisons
  • DQMHistoTests: Total files compared: 11
  • DQMHistoTests: Total histograms compared: 146621
  • DQMHistoTests: Total failures: 28970
  • DQMHistoTests: Total nulls: 10
  • DQMHistoTests: Total successes: 117641
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 10 files compared)
  • Checked 42 log files, 45 edm output root files, 11 DQM output files
  • TriggerResults: no differences found

NVIDIA_H100 Comparison Summary

Summary:

  • You potentially added 4 lines to the logs
  • Reco comparison results: 239 differences found in the comparisons
  • DQMHistoTests: Total files compared: 11
  • DQMHistoTests: Total histograms compared: 146621
  • DQMHistoTests: Total failures: 25465
  • DQMHistoTests: Total nulls: 7
  • DQMHistoTests: Total successes: 121149
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 10 files compared)
  • Checked 42 log files, 45 edm output root files, 11 DQM output files
  • TriggerResults: found differences in 2 / 10 workflows

NVIDIA_L40S Comparison Summary

Summary:

NVIDIA_T4 Comparison Summary

Summary:

cmsbuild avatar Oct 13 '25 21:10 cmsbuild

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46470

  • Found files with invalid states:
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterProducer_Alpaka.cc:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87, b37facd213c7e69a3d359b9306298e93c7a21339
      • Deleted: 7d98a4842fc0e155d740733bfde830df2b4c8f5e, 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
      • Modified: 47539d53a4183cc2b94f7b85749c84760e11016d
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusteringVarsHostCollection.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterWarpIntrinsics.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Modified: 7d98a4842fc0e155d740733bfde830df2b4c8f5e
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterizerHelper.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Modified: 7d98a4842fc0e155d740733bfde830df2b4c8f5e, 894973865f9cf945969646e299a8c5c2b9cadb6f
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.cc:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Deleted: 7d98a4842fc0e155d740733bfde830df2b4c8f5e

Code check has found code style and quality issues which could be resolved by applying following patch(s)

  • code-checks: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46470/code-checks.patch e.g. curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46470/code-checks.patch | patch -p1 You can also run scram build code-checks to apply code checks directly

  • code-format: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46470/code-format.patch e.g. curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46470/code-format.patch | patch -p1 You can also run scram build code-format to apply code format directly

cmsbuild avatar Oct 16 '25 05:10 cmsbuild

@alexstrel you can also run

scram b code-checks

and

scram b code-format

before pushing the changes.

fwyzard avatar Oct 16 '25 08:10 fwyzard

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48248/46474

  • Found files with invalid states:
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterProducer_Alpaka.cc:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87, b37facd213c7e69a3d359b9306298e93c7a21339
      • Deleted: 7d98a4842fc0e155d740733bfde830df2b4c8f5e, 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
      • Modified: 47539d53a4183cc2b94f7b85749c84760e11016d
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusteringVarsHostCollection.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterWarpIntrinsics.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Modified: 7d98a4842fc0e155d740733bfde830df2b4c8f5e
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/interface/alpaka/PFMultiDepthClusterizerHelper.h:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Modified: 7d98a4842fc0e155d740733bfde830df2b4c8f5e, 894973865f9cf945969646e299a8c5c2b9cadb6f
      • Deleted: 1a8417e160fbe7837fc140cb8d9a080cdfc3a01a
    • RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFMultiDepthClusterizer_Alpaka.cc:
      • Added: 3da93bbc4041a7d1c20bd4db3e0c288ac8f54d87
      • Deleted: 7d98a4842fc0e155d740733bfde830df2b4c8f5e

cmsbuild avatar Oct 16 '25 13:10 cmsbuild