-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Added AoSWrapper and transposition function #49072
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 |
|
type ngt |
|
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49072/46300
Code check has found code style and quality issues which could be resolved by applying following patch(s)
|
|
enable gpu |
ec591c1 to
7c43142
Compare
|
A new Pull Request was created by @leobeltra for master. It involves the following packages:
@cmsbuild, @fwyzard, @makortel can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
|
allow @leobeltra test rights |
|
please test |
| /* AoS as subclass of the SoA. The main purpose should be to perform the heterogeneous tranposition */ \ | ||
| /* from SoA to AoS. This class is a suitable template parameter for the PortableCollections. */ \ | ||
| struct AoSWrapper { \ |
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.
I understand "subclass" the same as "derived class". But here AoSWrapper does not derive from the SoA layout. Is it a nested class then?
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.
Yes, it is a nested class. I will fix the comment, thank you.
|
+1 Size: This PR adds an extra 60KB to repository Comparison SummarySummary:
AMD_MI300X Comparison SummarySummary:
AMD_W7900 Comparison SummarySummary:
NVIDIA_H100 Comparison SummarySummary:
NVIDIA_L40S Comparison SummarySummary:
NVIDIA_T4 Comparison SummarySummary:
|
7494e96 to
3143c21
Compare
|
Milestone for this pull request has been moved to CMSSW_16_1_X. Please open a backport if it should also go in to CMSSW_16_0_X. |
PR description:
This PR introduces
AoSWrapperas a subclass of the SoA layout. It provides the same utilities as SoA, i.e.,View,ConstView, andMetadata, in a more minimal form, makingAoSWrappera suitable object forPortableCollections to wrap. Thetranspose()function enables heterogeneous conversion between SoA and AoS in both directions and runs via a kernel with a fixed thread count, prioritizing ease of use.PR validation:
Two test cases have been added, one testing the correctness of the new AoS Layout (
AoSUnitTests.cc) and one testing the heterogeneous transposition between AoS/SoA and SoA/AoS (test_catch2_portableAoS.dev.cc).In collaboration with @Electricks94.
FYI: @felicepantaleo