Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-10034

TMVA uses multi-threading w/o enabling IMT

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 6.16/00
    • Fix Version/s: 6.18/00
    • Component/s: TMVA
    • Labels:
      None
    • Environment:

      ATLAS nightly builds on all platforms, e.g. x86_64-slc6-gcc8-opt.

      Description

      Hi guys,

      Since we (ATLAS) switched to ROOT v6-16-00, we noticed that TVMA seems to use multi-threading regardless of whether IMT is enabled or not (so long as ROOT is compiled w/ imt=ON). This was noticed while using MethodBDT but presumably it's not specific to this class. Is this really intended?

      It's further interesting that the behavior seems "random" in the sense that, although ROOT::IsImplicitMTEnabled() constantly returns false (as it should because IMT is not explicitly enabled), w/o any code change, TMVA::Config::Instance().GetThreadExecutor().GetPoolSize() sometimes reports 1 but other times 32 (total cores on the machine). So multi-threading is sometimes on but sometimes off. I can confirm this by looking at the number of threads that's owned by the mother process.

      I don't have a full reproducer, unfortunately, since this is observed in our reconstruction workflow. I'll see if I can come-up w/ one but any insight is most welcome.

      Best,
      Serhan

        Attachments

          Activity

            People

            • Assignee:
              moneta Lorenzo Moneta
              Reporter:
              amete Alaettin Serhan Mete
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Actual Start:
                Actual End: