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

Investigate why TBB sometimes has terrible CPU utilization. #14

Open
Mysticial opened this Issue Oct 14, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@Mysticial
Copy link
Owner

Mysticial commented Oct 14, 2018

On a system with a lot of cores, run:

  • Golden Ratio (doesn't really matter what constant you choose, Golden Ratio make repro faster)
  • 10 billion digits
  • Disable hexadecimal digits (not necessary, but makes repro faster)
  • Disable output verify (not necessary, but make repro faster)
  • Parallel Framework: TBB

With Task Manager opened, observe the CPU when it gets to the base conversion. Compare it with Push Pool, and Cilk Plus. TBB has absolutely terrible CPU utilization whereas Push Pool and Cilk Plus are fine.

Questions:

  • Why is TBB so much worse than Cilk Plus? This matters because Cilk Plus is going away due to deprecation.
  • What other environments are affected?
  • Can this be fixed? Or is it fundamental to the design of TBB?

Confirmed Repro on:

  • Core i7 5960X (16 vcores, task decomposition = 16)
  • Core i9 7900X (20 vcores, task decomposition = 40)
  • Core i9 7940X (28 vcores, task decomposition = 56)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.