-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Migrate LST outputs to Portable SoAs #48409
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
base: master
Are you sure you want to change the base?
Conversation
cms-bot internal usage |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48409/45307
|
A new Pull Request was created by @ariostas for master. It involves the following packages:
@Dr15Jones, @cmsbuild, @jfernan2, @makortel, @mandrenguyen, @smuzaffar can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
test parameters:
|
@cmsbuild please test |
-1 Failed Tests: Build HeaderConsistency BuildI found compilation error when building: Copying tmp/el8_amd64_gcc12/src/RecoTracker/LSTCore/src/alpaka/RecoTrackerLSTCoreROCmAsync/libRecoTrackerLSTCoreROCmAsync_rocm.a to productstore area: Copying tmp/el8_amd64_gcc12/src/RecoTracker/LSTCore/src/alpaka/RecoTrackerLSTCoreCudaAsync/libRecoTrackerLSTCoreCudaAsync_nv.a to productstore area: cp: cannot stat 'tmp/el8_amd64_gcc12/src/RecoTracker/LSTCore/src/alpaka/RecoTrackerLSTCoreROCmAsync/libRecoTrackerLSTCoreROCmAsync_rocm.a': No such file or directory cp: cannot stat 'tmp/el8_amd64_gcc12/src/RecoTracker/LSTCore/src/alpaka/RecoTrackerLSTCoreCudaAsync/libRecoTrackerLSTCoreCudaAsync_nv.a': No such file or directory >> Deleted: tmp/el8_amd64_gcc12/src/RecoTracker/LSTCore/src/alpaka/RecoTrackerLSTCoreCudaAsync/libRecoTrackerLSTCoreCudaAsync_nv.a gmake: *** [config/SCRAM/GMake/Makefile.rules:1920: tmp/el8_amd64_gcc12/src/RecoTracker/LSTCore/src/alpaka/RecoTrackerLSTCoreCudaAsync/libRecoTrackerLSTCoreCudaAsync_nv.a] Error 1 >> Deleted: tmp/el8_amd64_gcc12/src/RecoTracker/LSTCore/src/alpaka/RecoTrackerLSTCoreROCmAsync/libRecoTrackerLSTCoreROCmAsync_rocm.a gmake: *** [config/SCRAM/GMake/Makefile.rules:1920: tmp/el8_amd64_gcc12/src/RecoTracker/LSTCore/src/alpaka/RecoTrackerLSTCoreROCmAsync/libRecoTrackerLSTCoreROCmAsync_rocm.a] Error 1 @@@@ Checking for missing symbols was SKIPPED due to NO_LIB_CHECKING flag in BuildFile: libUtilitiesStaticAnalyzers.so Unknow target lib/el8_amd64_gcc12/RecoTrackerLSTCore_xr.rootmap Unknow target lib/el8_amd64_gcc12/RecoTrackerLST_xr.rootmap |
21a525e
to
b8eabc3
Compare
Sorry about that, that header was deleted by mistake. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48409/45311
|
OK, summer time. In the meantime (while we wait for the main reviewer(s)) it would be nice to get advice/clarification on the plugin issue |
The plugin system used the Are you certain the new plugin is actually being built? @smuzaffar any thoughts? |
So I see that the following libraries are built
neither of these are an exact match for plugin-poisoned-RecoTrackerLSTPlugins.so as previously, I believe, the In the conversion to an alpaka module, the module's type name would have been changed as well. It would no longer just be |
So you need to change cmssw/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py Line 27 in 3c9125e
to _hltInitialStepTrackCandidatesLST = cms.EDProducer('LSTOutputConverter@alpaka', and do that for all configurations. |
Thank you, Chris. The issue is on our side after all. Do you think there is a way to improve the error message to indicate that the plugin |
31df503
to
83731f0
Compare
Thanks for the help, Chris! Should be all working now. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48409/45328
|
Pull request #48409 was updated. @Dr15Jones, @Martin-Grunewald, @cmsbuild, @fwyzard, @jfernan2, @makortel, @mandrenguyen, @mmusich, @smuzaffar can you please check and sign again. |
@cmsbuild please test |
+1 Size: This PR adds an extra 40KB to repository Comparison SummarySummary:
CUDA Comparison SummarySummary:
ROCM Comparison SummarySummary:
|
+hlt
|
+1 |
|
||
namespace ALPAKA_ACCELERATOR_NAMESPACE { | ||
|
||
class LSTOutputConverter : public global::EDProducer<> { |
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.
What motivated moving the LSTOutputConverter
from a "regular module" (in plugins
) to an "alpaka module" (in plugins/alpaka
and in ALPAKA_ACCELERATOR_NAMESPACE
)?
By quick look I didn't see any backend-specific behavior, but maybe I just missed it.
This PR refactors the LST outputs so that Portable SoAs are used as much as possible. The output of the LST Producer is now a device collection, and the framework takes care of copying it to the host.
This continues the work from #47793, now on the outputs side, and completes the tasks related to CMSSW-LST interfacing in #46746.
c.c. @slava77