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

warn on tbb::global_control interferences #6814

Merged
merged 2 commits into from
Jan 15, 2021

Conversation

xvallspl
Copy link
Contributor

warn when the number of threads set by the user is limited at runtime
by tbb::global_control

Addressing #6363

@xvallspl xvallspl requested a review from dpiparo as a code owner November 16, 2020 09:56
@xvallspl
Copy link
Contributor Author

The current solution might be too noisy in some contexts, for instance RDataFrame, where "every MT event loop should be exactly two calls to Foreach but you might have a bunch of event loops per application" (@eguiraud 📝 ). I'll give it another look.

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/cxx14, ROOT-fedora30/cxx14, ROOT-fedora31/noimt, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/cxx14, ROOT-fedora30/cxx14, ROOT-fedora31/noimt, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@xvallspl
Copy link
Contributor Author

xvallspl commented Jan 7, 2021

Hah, I thought this one was merged already.

I need to add another test case in the threadExecutor test in roottest to account for this

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Warnings:

  • [2021-01-07T10:42:04.581Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/imt/src/TThreadExecutor.cxx:145:15: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::size_t’ {aka ‘unsigned int’} [-Wformat=]
  • [2021-01-07T10:42:04.582Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/imt/src/TThreadExecutor.cxx:161:15: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::size_t’ {aka ‘unsigned int’} [-Wformat=]

@phsft-bot
Copy link
Collaborator

Build failed on mac11.0/cxx17.
Running on macphsft20.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/cxx14, ROOT-fedora30/cxx14, ROOT-fedora31/noimt, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-fedora30/cxx14.
Running on root-fedora30-1.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Warnings:

  • [2021-01-07T16:31:50.667Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/imt/src/TThreadExecutor.cxx:160:15: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::size_t’ {aka ‘unsigned int’} [-Wformat=]
  • [2021-01-07T16:31:50.668Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/imt/src/TThreadExecutor.cxx:182:15: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::size_t’ {aka ‘unsigned int’} [-Wformat=]

@phsft-bot
Copy link
Collaborator

Build failed on mac11.0/cxx17.
Running on macphsft20.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/cxx14, ROOT-fedora30/cxx14, ROOT-fedora31/noimt, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Warnings:

  • [2021-01-08T08:33:18.408Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/imt/src/TThreadExecutor.cxx:160:15: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘std::size_t’ {aka ‘unsigned int’} [-Wformat=]
  • [2021-01-08T08:33:18.408Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/imt/src/TThreadExecutor.cxx:182:15: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘std::size_t’ {aka ‘unsigned int’} [-Wformat=]

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/cxx14, ROOT-fedora30/cxx14, ROOT-fedora31/noimt, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@xvallspl xvallspl requested review from eguiraud and removed request for dpiparo January 11, 2021 10:52
@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/cxx14, ROOT-fedora30/cxx14, ROOT-fedora31/noimt, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/cxx14, ROOT-fedora30/cxx14, ROOT-fedora31/noimt, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@eguiraud
Copy link
Member

@phsft-bot build please

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-fedora30/cxx14, ROOT-fedora31/noimt, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

Copy link
Member

@eguiraud eguiraud left a comment

Choose a reason for hiding this comment

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

Thanks Xavi! The comment about false positives is the only required change.

core/imt/test/testTBBGlobalControl.cxx Outdated Show resolved Hide resolved
"tbb::global_control is limiting the number of parallel workers."
" Proceeding with %zu threads this time",
tbb::global_control::active_value(tbb::global_control::max_allowed_parallelism));
}
Copy link
Member

Choose a reason for hiding this comment

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

this logic repeated 3 times could be factored out in a little helper function

Copy link
Contributor Author

Choose a reason for hiding this comment

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

For these three times in such a short file, I feel creating a helper to print would be overkill, and creating a helper that includes the call to GetPoolSize() would complicate the code.

@phsft-bot
Copy link
Collaborator

Build failed on mac11.0/cxx17.
Running on macphsft23.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

    warn when the number of threads set by the user is limited at runtime
    by tbb::global_control.

    Fix for github issue root-project#6363: root-project#6363
@phsft-bot
Copy link
Collaborator

Build failed on ROOT-performance-centos8-multicore/default.
Running on null:/data/sftnight/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-fedora30/cxx14, ROOT-fedora31/noimt, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-performance-centos8-multicore/default.
Running on null:/data/sftnight/workspace/root-pullrequests-build
See console output.

Failing tests:

Copy link
Member

@eguiraud eguiraud left a comment

Choose a reason for hiding this comment

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

LGTM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants