-
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
MkFitCore: move simd pragmas to inner loops to address clang warnings #43915
MkFitCore: move simd pragmas to inner loops to address clang warnings #43915
Conversation
cms-bot internal usage |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43915/38765
|
A new Pull Request was created by @dan131riley (Dan Riley) for master. It involves the following packages:
@jfernan2, @cmsbuild, @mandrenguyen can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3ccb2d/37326/summary.html Comparison SummarySummary:
|
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @sextonkennedy, @rappoccio, @antoniovilela (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
PR description:
Checking the vectorization diagnostics revealed that gcc was only vectorizing the innermost two nested loops, out of four. Apparently LLVM is pickier about the locality of pragma simd, as moving the directive to the loops that are actually optimized by gcc allowed LLVM to vectorize successfully.
PR also adds constexpr to a few if statements on config constants.
Resolves #43886
PR validation:
Compiles with no warnings with clang and gcc. Purely technical, no physics changes expected.