-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Issues with SoA persistency in HLT output files post-alpaka migration #44700
Comments
cms-bot internal usage |
A new Issue was created by @mmusich. @sextonkennedy, @makortel, @rappoccio, @antoniovilela, @smuzaffar, @Dr15Jones can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
There was some discussion in Core Software mattermost on this topic, https://mattermost.web.cern.ch/cms-o-and-c/pl/zgnaaebkq3f7bf3hf9xfaa3zoy onwards |
assign hlt, heterogeneous FYI @AdrianoDee |
New categories assigned: hlt,heterogeneous @Martin-Grunewald,@mmusich,@fwyzard,@makortel you have been requested to review this Pull request/Issue and eventually sign? Thanks |
Following an exchange with @AdrianoDee, I understand that the reason for the failure is that the pixel rechit SoA GENERATE_SOA_LAYOUT(Layout,
SOA_COLUMN(float, xLocal),
SOA_COLUMN(float, yLocal),
SOA_COLUMN(float, xerrLocal),
SOA_COLUMN(float, yerrLocal),
SOA_COLUMN(float, xGlobal),
SOA_COLUMN(float, yGlobal),
SOA_COLUMN(float, zGlobal),
SOA_COLUMN(float, rGlobal),
SOA_COLUMN(int16_t, iphi),
SOA_COLUMN(SiPixelHitStatusAndCharge, chargeAndStatus),
SOA_COLUMN(int16_t, clusterSizeX),
SOA_COLUMN(int16_t, clusterSizeY),
SOA_COLUMN(uint16_t, detectorIndex),
SOA_SCALAR(int32_t, offsetBPIX2),
SOA_COLUMN(PhiBinnerStorageType, phiBinnerStorage),
SOA_SCALAR(HitModuleStartArray, hitsModuleStart),
SOA_SCALAR(HitLayerStartArray, hitsLayerStart),
SOA_SCALAR(AverageGeometry, averageGeometry),
SOA_SCALAR(PhiBinner, phiBinner)); contains as scalar data members some classes that do not have a dictionary, like the |
is there a way to declare these transient so that ROOT doesn't try to stream? |
I don't think so. More importantly, that would break the serialised data format, because after reading them back they could not be used like the original ones. |
that's the situation for all transient members (like positions in the tracking rechits); so, it will not be special for SoA types. |
The framework intent is the transient members should not be used to throw away data, but for things like caches. I.e. the user of a data format class should not be able to tell if those members were read from a file or generated on the fly. (so things like the positions in tracking rechits already violate that; we'd much prefer to not spread the pattern) |
This issue is mostly for documentation purposes, in order to expose what has been discussed in the internal HLT JIRA project ticket CMSHLT-3147.
Quoting from JIRA ticket description:
When trying to implement the above, it was noticed that while the various monitoring plugins in the DQM/SiPixelHeterogeneous package are using SoA-s inputs, the current development HLT menu in CMSW_14_0_X persists legacy objects in
DQMvsGPU
stream.The change from legacy to SoA objects in the
hltOutputDQMGPUvsCPU
was implemented via:but tests at runtime (on CPU-only) using the following script:
resulted in a runtime error:
This seems to come from these
keep
statements:reverting that, one encounters a different error related to the
hltPixelTracksSoA*
:The text was updated successfully, but these errors were encountered: