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

Update TBB to 2021.2.0 and use cmake to build #6792

Merged
merged 2 commits into from
May 4, 2021

Conversation

mrodozov
Copy link
Contributor

@mrodozov mrodozov commented Apr 7, 2021

this is using existing PR + additional flag and new version

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 7, 2021

A new Pull Request was created by @mrodozov (Mircho Rodozov) for branch IB/CMSSW_11_3_X/master.

@cmsbuild, @smuzaffar, @mrodozov can you please review it and eventually sign? Thanks.
cms-bot commands are listed here

@mrodozov
Copy link
Contributor Author

mrodozov commented Apr 7, 2021

please test

@mrodozov
Copy link
Contributor Author

mrodozov commented Apr 7, 2021

@fwyzard do we need this patch and what it does (I didn't check what is actually doing), and also can I remove the -DCMAKE_BUILD_TYPE=RelWithDebInfo because it's a debug build or you want to check what it's doing first ?

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 7, 2021

-1

Failed Tests: Build
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14066/summary.html
COMMIT: e555977
CMSSW: CMSSW_11_3_X_2021-04-06-2300/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmsdist/6792/14066/install.sh to create a dev area with all the needed externals and cmssw changes.

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:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14066/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14066/git-merge-result

Build

I found compilation error when building:

>> Compiling  /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-04-06-2300/src/SimG4Core/Physics/src/PhysicsList.cc
>> Compiling  /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-04-06-2300/src/SimG4Core/Physics/src/PhysicsListFactory.cc
In file included from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-04-06-2300/src/FWCore/PluginManager/interface/PluginFactory.h:27,
                 from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-04-06-2300/src/SimG4Core/Physics/interface/PhysicsListFactory.h:7,
                 from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-04-06-2300/src/SimG4Core/Physics/src/PhysicsListFactory.cc:1:
/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-04-06-2300/src/FWCore/PluginManager/interface/PluginFactoryBase.h:64:58: error: 'zero_allocator' is not a member of 'tbb'
   64 |     typedef tbb::concurrent_vector> PMakers;
      |                                                          ^~~~~~~~~~~~~~
/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-04-06-2300/src/FWCore/PluginManager/interface/PluginFactoryBase.h:64:73: error: template argument 2 is invalid
   64 |     typedef tbb::concurrent_vector> PMakers;
      |                                                                         ^~~~~~~~~~~~~~~


@makortel
Copy link
Contributor

makortel commented Apr 7, 2021

.../FWCore/PluginManager/interface/PluginFactoryBase.h:64:58: error: 'zero_allocator' is not a member of 'tbb'

I see the zero_allocator has indeed been removed from oneTBB, but I wasn't able to find any information on why. @Dr15Jones

@Dr15Jones
Copy link

The oneAPI documentation for std::concurrent_vector says "You must synchronize construction and access." Maybe they changed their policy and put a much greater burden on the users?

@Dr15Jones
Copy link

@dan131riley thoughts?

@dan131riley
Copy link

The oneAPI documentation for std::concurrent_vector says "You must synchronize construction and access." Maybe they changed their policy and put a much greater burden on the users?

That language was in the docs before oneAPI. Also strange, zero_allocator is still in the oneAPI spec as is the advice to use it for waiting on an element.

I think the zero allocator is still the right thing to do there. It isn't a complicated class, so we could just copy it into FWCore/Utilities and s/tbb/edm/.

I also opened an issue.

@fwyzard
Copy link
Contributor

fwyzard commented Apr 7, 2021

@mrodozov

@fwyzard do we need this patch and what it does (I didn't check what is actually doing)

If you mean the changes related to tbbbind and hwloc, yes, please keep them.

If you mean the part about

+# Patch tbb v2021.1.1 CMake file to support $HWLOC_ROOT
+# not needed in the tbb master branch
+Patch: tbb-2021.1.1-cmake_policy-CMP0074

then I think it can be dropped: according to the documentation we can use the same approach as in #6525 .

can I remove the -DCMAKE_BUILD_TYPE=RelWithDebInfo because it's a debug build or you want to check what it's doing first ?

I actually think we should keep RelWithDebInfo - as far as I know it just means that TBB will be built with the -g flag, so we still get an optimised build, but we also get debug symbols.

Copy link
Contributor

@fwyzard fwyzard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update the spec file to use the syntax for using the hwloc library introduced in TBB v2021.2.0.

tbb.spec Outdated Show resolved Hide resolved
tbb.spec Outdated Show resolved Hide resolved
tbb.spec Outdated Show resolved Hide resolved
@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 8, 2021

Pull request #6792 was updated.

@mrodozov
Copy link
Contributor Author

mrodozov commented Apr 8, 2021

please test
checking the ext build

@gartung
Copy link
Member

gartung commented Apr 22, 2021

please test with cms-sw/cmssw#33474

@cmsbuild
Copy link
Contributor

-1

Failed Tests: HeaderConsistency
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14531/summary.html
COMMIT: 0b05726
CMSSW: CMSSW_12_0_X_2021-04-22-1100/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmsdist/6792/14531/install.sh to create a dev area with all the needed externals and cmssw changes.

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:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14531/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14531/git-merge-result

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 38
  • DQMHistoTests: Total histograms compared: 2877046
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2877023
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 37 files compared)
  • Checked 160 log files, 37 edm output root files, 38 DQM output files
  • TriggerResults: no differences found

@gartung
Copy link
Member

gartung commented Apr 23, 2021

please test with cms-sw/cmssw#33474

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14544/summary.html
COMMIT: 0b05726
CMSSW: CMSSW_12_0_X_2021-04-23-1100/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmsdist/6792/14544/install.sh to create a dev area with all the needed externals and cmssw changes.

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:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14544/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14544/git-merge-result

Found compilation warnings

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 8 differences found in the comparisons
  • DQMHistoTests: Total files compared: 38
  • DQMHistoTests: Total histograms compared: 2877046
  • DQMHistoTests: Total failures: 12
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 2877011
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -0.004 KiB( 37 files compared)
  • DQMHistoSizes: changed ( 312.0 ): -0.004 KiB MessageLogger/Warnings
  • Checked 160 log files, 37 edm output root files, 38 DQM output files
  • TriggerResults: no differences found

@makortel
Copy link
Contributor

makortel commented Apr 30, 2021

please test with cms-sw/cmssw#33474

@makortel
Copy link
Contributor

Is there a difference between starting tests from cmssw vs cvmsdist?

@mrodozov
Copy link
Contributor Author

mrodozov commented Apr 30, 2021

the 'tests approved' label will appear only on the PR from where you are testing
before it did on both places but that was not optimal - for example you might have wanted to test the cmssw alone, or with the cmsdist + other PRs.
the test labels will appear only on the PR domain from which they were started
but the testing alone - no. there is no difference

@makortel
Copy link
Contributor

but the testing alone - no. there is no difference

Ok, thanks. The last test launched from cmssw side just failed in a way that looked suspicious (like TBB library would be missing).

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14757/summary.html
COMMIT: 0b05726
CMSSW: CMSSW_12_0_X_2021-04-29-2300/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/6792/14757/install.sh to create a dev area with all the needed externals and cmssw changes.

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:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14757/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca273c/14757/git-merge-result

Found compilation warnings

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 37
  • DQMHistoTests: Total histograms compared: 2662646
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2662623
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 36 files compared)
  • Checked 155 log files, 37 edm output root files, 37 DQM output files
  • TriggerResults: no differences found

@silviodonato
Copy link
Contributor

+1

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.

8 participants