Skip to content

core: Add semantic ROOT::EnableImplicitMT #18694

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 7 commits into from
May 16, 2025

Conversation

pcanal
Copy link
Member

@pcanal pcanal commented May 12, 2025

Instead of specificy the number of core, the new overload can be specified to select a configuration type. Currently the following 2 configuration are supported:

ROOT::EIMTConfig::kWholeMachine
ROOT::EIMTConfig::kExistingTBBArena

calling

ROOT::EnableImplicitMT(ROOT::EIMTConfig::kExistingTBBArena);

will attach to an existing TBB Arena instead of creating a new one.

This fixes #18301

This Pull request:

Changes or fixes:

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

This PR fixes #

@pcanal pcanal requested a review from Dr15Jones May 12, 2025 15:09
@pcanal pcanal self-assigned this May 12, 2025
@pcanal pcanal requested review from bellenot and dpiparo as code owners May 12, 2025 15:09
@pcanal pcanal modified the milestones: 6.38.00, 6.22/10, 6.36.00 May 12, 2025
Instead of specificy the number of core, the new overload can
be specified to select a configuration type.  Currently the following
2 configuration are supported:

ROOT::EIMTConfig::kWholeMachine
ROOT::EIMTConfig::kExistingTBBArena

calling
```
ROOT::EnableImplicitMT(ROOT::EIMTConfig::kExistingTBBArena);
```
will attach to an existing TBB Arena instead of creating a new one.

This fixes root-project#18301
Copy link

github-actions bot commented May 12, 2025

Test Results

    19 files      19 suites   3d 15h 9m 49s ⏱️
 2 746 tests  2 745 ✅ 0 💤 1 ❌
50 739 runs  50 738 ✅ 0 💤 1 ❌

For more details on these failures, see this check.

Results for commit 436a137.

♻️ This comment has been updated with latest results.

@pcanal pcanal closed this May 13, 2025
@pcanal pcanal reopened this May 13, 2025
@pcanal pcanal requested review from hahnjo and hageboeck and removed request for bellenot May 14, 2025 18:51
Copy link
Member

@hahnjo hahnjo left a comment

Choose a reason for hiding this comment

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

Some comments, also please don't forget to squash

@pcanal pcanal merged commit eb0b903 into root-project:master May 16, 2025
38 of 43 checks passed
@pcanal pcanal deleted the master-18301 branch May 16, 2025 15:31
@makortel
Copy link

makortel commented May 16, 2025

Can we have this PR backported all the way back to 6.32? Thanks!

pcanal added a commit to pcanal/root that referenced this pull request May 16, 2025
Instead of specificy the number of core, the new overload can
be specified to select a configuration type.  Currently the following
2 configuration are supported:

ROOT::EIMTConfig::kWholeMachine
ROOT::EIMTConfig::kExistingTBBArena

calling
```
ROOT::EnableImplicitMT(ROOT::EIMTConfig::kExistingTBBArena);
```
will attach to an existing TBB Arena instead of creating a new one.

(cherry picked from commit eb0b903)
pcanal added a commit to pcanal/root that referenced this pull request May 16, 2025
Instead of specificy the number of core, the new overload can
be specified to select a configuration type.  Currently the following
2 configuration are supported:

ROOT::EIMTConfig::kWholeMachine
ROOT::EIMTConfig::kExistingTBBArena

calling
```
ROOT::EnableImplicitMT(ROOT::EIMTConfig::kExistingTBBArena);
```
will attach to an existing TBB Arena instead of creating a new one.

(cherry picked from commit eb0b903)
pcanal added a commit to pcanal/root that referenced this pull request May 16, 2025
Instead of specificy the number of core, the new overload can
be specified to select a configuration type.  Currently the following
2 configuration are supported:

ROOT::EIMTConfig::kWholeMachine
ROOT::EIMTConfig::kExistingTBBArena

calling
```
ROOT::EnableImplicitMT(ROOT::EIMTConfig::kExistingTBBArena);
```
will attach to an existing TBB Arena instead of creating a new one.

(cherry picked from commit eb0b903)
pcanal added a commit that referenced this pull request May 17, 2025
Instead of specificy the number of core, the new overload can
be specified to select a configuration type.  Currently the following
2 configuration are supported:

ROOT::EIMTConfig::kWholeMachine
ROOT::EIMTConfig::kExistingTBBArena

calling
```
ROOT::EnableImplicitMT(ROOT::EIMTConfig::kExistingTBBArena);
```
will attach to an existing TBB Arena instead of creating a new one.

(cherry picked from commit eb0b903)
pcanal added a commit that referenced this pull request May 17, 2025
Instead of specificy the number of core, the new overload can
be specified to select a configuration type.  Currently the following
2 configuration are supported:

ROOT::EIMTConfig::kWholeMachine
ROOT::EIMTConfig::kExistingTBBArena

calling
```
ROOT::EnableImplicitMT(ROOT::EIMTConfig::kExistingTBBArena);
```
will attach to an existing TBB Arena instead of creating a new one.

(cherry picked from commit eb0b903)
pcanal added a commit that referenced this pull request May 17, 2025
Instead of specificy the number of core, the new overload can
be specified to select a configuration type.  Currently the following
2 configuration are supported:

ROOT::EIMTConfig::kWholeMachine
ROOT::EIMTConfig::kExistingTBBArena

calling
```
ROOT::EnableImplicitMT(ROOT::EIMTConfig::kExistingTBBArena);
```
will attach to an existing TBB Arena instead of creating a new one.

(cherry picked from commit eb0b903)
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Performance issue seen by CMS for ROOT's use of tbb::task_arena
6 participants