-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Add and use preprocessors macros for loop unrolling #32499
Conversation
Define preprocessor macros that exoand to pragmas controlling loop unrolling. Two set of macrso are defined: - CMS_UNROLL_LOOP and friends are applied on both host and device compilation - CMS_DEVICE_UNROLL_LOOP and friends is only applied in device compilation, and expands to nothing on the host The supported compilers are - CUDA nvcc - HIP (untested) - gcc - clang
fab1e91
to
dca2f32
Compare
please test |
@makortel FYI |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32499/20425
|
A new Pull Request was created by @fwyzard (Andrea Bocci) for master. It involves the following packages: DataFormats/CaloRecHit @perrotta, @smuzaffar, @Dr15Jones, @makortel, @fwyzard, @slava77, @jpata can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
The error is likely unrelated:
|
-1 Failed Tests: Build HeaderConsistency ClangBuild The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: BuildI found compilation error when building: >> Package GeneratorInterface/Herwig7Interface built Entering library rule at src/GeneratorInterface/Herwig7Interface/plugins >> Compiling edm plugin /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2020-12-15-1100/src/GeneratorInterface/Herwig7Interface/plugins/Herwig7Hadronizer.cc In file included from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2020-12-15-1100/src/GeneratorInterface/Herwig7Interface/interface/Herwig7Interface.h:22, from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2020-12-15-1100/src/GeneratorInterface/Herwig7Interface/plugins/Herwig7Hadronizer.cc:27: /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2020-12-15-1100/src/GeneratorInterface/Herwig7Interface/interface/HerwigUIProvider.h:7:10: fatal error: Herwig/API/HerwigUI.h: No such file or directory 7 | #include | ^~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. gmake: *** [tmp/slc7_amd64_gcc900/src/GeneratorInterface/Herwig7Interface/plugins/GeneratorInterfaceHerwig7HadronizerPlugins/Herwig7Hadronizer.cc.o] Error 1 >> Building edm plugin tmp/slc7_amd64_gcc900/src/GeneratorInterface/Herwig7Interface/plugins/GeneratorInterfaceHerwig7HadronizerPlugins/libGeneratorInterfaceHerwig7HadronizerPlugins.so Clang BuildI found compilation error while trying to compile with clang. Command used:
>> Entering Package GeneratorInterface/Herwig7Interface Entering library rule at src/GeneratorInterface/Herwig7Interface/plugins >> Compiling edm plugin /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2020-12-15-1100/src/GeneratorInterface/Herwig7Interface/plugins/Herwig7Hadronizer.cc In file included from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2020-12-15-1100/src/GeneratorInterface/Herwig7Interface/plugins/Herwig7Hadronizer.cc:27: In file included from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2020-12-15-1100/src/GeneratorInterface/Herwig7Interface/interface/Herwig7Interface.h:22: /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2020-12-15-1100/src/GeneratorInterface/Herwig7Interface/interface/HerwigUIProvider.h:7:10: fatal error: 'Herwig/API/HerwigUI.h' file not found #include ^~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. In file included from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2020-12-15-1100/src/GeneratorInterface/Herwig7Interface/plugins/Herwig7Hadronizer.cc:27: In file included from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2020-12-15-1100/src/GeneratorInterface/Herwig7Interface/interface/Herwig7Interface.h:22: |
@cmsbuild, please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-fc1eb9/11737/summary.html Comparison SummarySummary:
|
+1 |
+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. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
…#32499) (#596) Define preprocessor macros that exoand to pragmas controlling loop unrolling. Two set of macrso are defined: - CMS_UNROLL_LOOP and friends are applied on both host and device compilation - CMS_DEVICE_UNROLL_LOOP and friends is only applied in device compilation, and expands to nothing on the host The supported compilers are - CUDA nvcc - HIP (untested) - gcc - clang Use CMS_UNROLL_LOOP instead of #pragma unroll .
…#32499) Define preprocessor macros that exoand to pragmas controlling loop unrolling. Two set of macrso are defined: - CMS_UNROLL_LOOP and friends are applied on both host and device compilation - CMS_DEVICE_UNROLL_LOOP and friends is only applied in device compilation, and expands to nothing on the host The supported compilers are - CUDA nvcc - HIP (untested) - gcc - clang Use CMS_UNROLL_LOOP instead of #pragma unroll .
…sw#32499 (supported compilers: CUDA nvcc, gcc, clang).
PR description:
Define preprocessor macros that exoand to pragmas controlling loop unrolling.
Two set of macrso are defined:
CMS_UNROLL_LOOP
and friends are applied on both host and device compilationCMS_DEVICE_UNROLL_LOOP
and friends are only applied in device compilation, and expand to nothing on the hostThe supported compilers are
Use
CMS_UNROLL_LOOP
instead of#pragma unroll
.PR validation:
None.