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

MkFitCore: move simd pragmas to inner loops to address clang warnings #43915

Merged
merged 1 commit into from
Feb 12, 2024

Conversation

dan131riley
Copy link

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.

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 8, 2024

cms-bot internal usage

@dan131riley dan131riley changed the title move simd pragmas to inner loops, add constexpr to config conditionals MkFitCore: move simd pragmas to inner loops to address clang warnings Feb 8, 2024
@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 8, 2024

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43915/38765

  • This PR adds an extra 52KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 8, 2024

A new Pull Request was created by @dan131riley (Dan Riley) for master.

It involves the following packages:

  • RecoTracker/MkFitCore (reconstruction)

@jfernan2, @cmsbuild, @mandrenguyen can you please review it and eventually sign? Thanks.
@rovere, @felicepantaleo, @dgulhan, @VourMa, @gpetruc, @VinInn, @missirol, @GiacomoSguazzoni, @mtosi, @JanFSchulte, @makortel, @mmusich this is something you requested to watch as well.
@sextonkennedy, @rappoccio, @antoniovilela you are the release manager for this.

cms-bot commands are listed here

@jfernan2
Copy link
Contributor

jfernan2 commented Feb 9, 2024

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 9, 2024

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3ccb2d/37326/summary.html
COMMIT: 02ea183
CMSSW: CMSSW_14_1_X_2024-02-09-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/43915/37326/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

@jfernan2
Copy link
Contributor

jfernan2 commented Feb 9, 2024

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 9, 2024

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)

@antoniovilela
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 32c7f34 into cms-sw:master Feb 12, 2024
11 checks passed
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.

[CLANG_X] Loop not vectorized in MkFit
4 participants