-
Notifications
You must be signed in to change notification settings - Fork 174
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
fix: Require TBB to be found by cmake #3507
fix: Require TBB to be found by cmake #3507
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason for this was that the Sequencer currently falls back to running single threaded in this mode, which was added intentionally. If tbb becomes a hard requirement here, this configuration should be removed as well.
Just to put Paul's point another way... why do we need to requite TBB, when ACTS works fine (single-threaded) without it? (Or at least it used to, last time I checked.) |
Okay, sure, but compilation fails in that case I think (at least that was what I experienced). Do we test the case where no TBB is present? Shouldn't we use some more explicit logic here like having an option such as |
@benjaminhuth We do have |
I agree, if |
But mostly The question remains why it didn't compile for you. That may be a more important issue to solve. |
I think you're right @timadye: I should try to reproduce the compile failure. Anyhow: I think if |
Maybe I am missing something but this is what is actually change in the PR, right? expect for a more descriptive message |
@andiwand Almost, but it's using the |
I found the source of the compile errore: The track finding algorithm unconditionally uses acts/Examples/Algorithms/TrackFinding/include/ActsExamples/TrackFinding/TrackFindingAlgorithm.hpp Line 44 in a28acc3
|
@benjaminhuth True, that was me, and I forgot about it to be honest. I don't have a strong opinion what the best solution is. I would probably lean towards avoiding making the single threaded use case require workarounds in many places, and therefore switch back to hard-requiring TBB? |
I think it is a pity to add a required dependency without good reason. It seems this one should be quite easy to A more complete solution would be to make a dummy class like |
@timadye It's a required dependency for our example framework, not the core lib, but I see your point. I don't know, your call @benjaminhuth |
Okay, during testing I found an additional place with explicit TBB dependency:
Actually since this involves the FPE mechanism I would now lean towards dropping the possibility to build without TBB... On the other hand, if we would stick to TBB being optional, we should definitively test it in the CI. |
I think that these build errors were not observered for such a long time also indicates the option is not widely used. |
OK, I guess I can't argue with that. Do these direct uses of |
Quality Gate failedFailed conditions |
@benjaminhuth |
Invalidated by push of 56d2c1d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm ok with this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Quality Gate passedIssues Measures |
Previously, the configuration could trun through even if TBB is not present on the system.
Previously, the configuration could trun through even if TBB is not present on the system.