ROOT minimizer multithread support

ROOT Version: v6.12.04 - v6.14.00 (latest commits)
Platform: Ubuntu 16.04
Compiler: gcc 5.4.0

Dear rooters,

I would like to ask a question regarding multithread support in ROOT minimizer. I have developed an application which distribute fitting of 2D data across multiple threads using OpenMP directives.
I have experienced segmentation faults in some of the fitters tested when using more than 1 thread:

  • TMinuitMinimizer: Minuit is not thread safe as documented in some old posts. I confirmed this.
  • RMinimizer: working with one thread, crashing with more than 1 thread with error std::runtime_error(“Can only have one TRInterface instance”)
  • Minuit2: this is actually working in multithread (ROOT v6.15 latest commit) as documented somewhere although it seems kind of slow.

I did not try GSLNLSMinimizer yet as it seems requiring to modify my fitting function.
Can you in case confirm which minimizer (maybe others not listed here) is suitable? Should I stay with Minuit2 at the present implementation status? Maybe trying to choose suitable fitting parameters (tolerance, etc) and algorithm (e.g. Fumili?)

I thank you very much for your support,


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.