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

Improve the SoA accessors and optimisations [12.5.x] #40087

Merged
merged 5 commits into from
Nov 17, 2022

Conversation

fwyzard
Copy link
Contributor

@fwyzard fwyzard commented Nov 16, 2022

PR description:

These changes fix various issues with the SoA accessors:

  • return const scalars by const reference instead of by value, which would break non-trivially copiable types;
  • remove the __builtin_assume_aligned compiler hints from the SoA fields, as it breaks the __restrict__ optimizations in nvcc;
  • add support for SoA view-level indexed access of Eigen columns;
  • add range checking to SoA view-level indexed accessors.

Extend the tests to check the access by (const) reference, the access to Eigen SoA columns, and the improved range checking.

PR validation:

Fixes a simple test provided by @borzari .

The updated unit test passes all checks.

If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:

Backport of #39919 to CMSSW 12.5.x to ease the migration to Alpaka.

fwyzard and others added 5 commits October 28, 2022 23:42
Return const scalars by const reference instead of by value, which would
break non-trivially copiable types.
Update the SoA tests to check the various ways of taking the address of
a column, scalar, or Eigen column fields.
Remove the __builtin_assume_aligned compiler hints from the SoA fields, as it breaks the __restrict__ optimizations in nvcc.
Add support for SoA view-level indexed access of Eigen columns and enable the corresponding test.
@fwyzard
Copy link
Contributor Author

fwyzard commented Nov 16, 2022

backport #39919

@fwyzard
Copy link
Contributor Author

fwyzard commented Nov 16, 2022

type bugfix

@fwyzard
Copy link
Contributor Author

fwyzard commented Nov 16, 2022

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 16, 2022

A new Pull Request was created by @fwyzard (Andrea Bocci) for CMSSW_12_5_X.

It involves the following packages:

  • DataFormats/SoATemplate (heterogeneous)
  • HeterogeneousCore/AlpakaTest (heterogeneous)

@makortel, @fwyzard can you please review it and eventually sign? Thanks.
@makortel, @missirol, @rovere this is something you requested to watch as well.
@perrotta, @dpiparo, @rappoccio you are the release manager for this.

cms-bot commands are listed here

@fwyzard
Copy link
Contributor Author

fwyzard commented Nov 16, 2022

+heterogeneous

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_12_5_X IBs after it passes the integration tests and once validation in the development release cycle CMSSW_12_6_X is complete. This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @rappoccio (and backports should be raised in the release meeting by the corresponding L2)

@cmsbuild
Copy link
Contributor

-1

Failed Tests: RelVals-INPUT
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-9a68f7/29049/summary.html
COMMIT: 067becf
CMSSW: CMSSW_12_5_X_2022-11-16-1100/el8_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/40087/29049/install.sh to create a dev area with all the needed externals and cmssw changes.

RelVals-INPUT

The relvals timed out after 4 hours.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 2 differences found in the comparisons
  • DQMHistoTests: Total files compared: 51
  • DQMHistoTests: Total histograms compared: 3734871
  • DQMHistoTests: Total failures: 7
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 3734841
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.004 KiB( 50 files compared)
  • DQMHistoSizes: changed ( 312.0 ): 0.004 KiB MessageLogger/Warnings
  • Checked 216 log files, 49 edm output root files, 51 DQM output files
  • TriggerResults: no differences found

@perrotta
Copy link
Contributor

+1

@perrotta
Copy link
Contributor

merge

@perrotta
Copy link
Contributor

ping bot

@cmsbuild cmsbuild merged commit 3f6d8f9 into cms-sw:CMSSW_12_5_X Nov 17, 2022
@fwyzard fwyzard deleted the alpaka_framework branch January 30, 2024 17:35
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.

4 participants