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

Minuit2 does not work with OpenMP enabled

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reopened (View Workflow)
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: 6.13/01
    • Fix Version/s: None
    • Component/s: Math Libraries
    • Labels:
      None
    • Environment:

      Linux, GCC 7.3.0

    • Development:

      Description

      Minuit2 does not work when OpenMP is enabled. Here are the test results with OpenMP turned OFF and ON:

      $ cat openmp-on.txt 
      $ ctest -R minuit2
      Test project /home/amadio/build/gcc7.3
            Start  80: minuit2-Quad1FMain
       1/17 Test  #80: minuit2-Quad1FMain ...............   Passed    0.64 sec
            Start  81: minuit2-Quad4FMain
       2/17 Test  #81: minuit2-Quad4FMain ...............   Passed    0.99 sec
            Start  82: minuit2-Quad8FMain
       3/17 Test  #82: minuit2-Quad8FMain ...............   Passed    0.76 sec
            Start  83: minuit2-Quad12FMain
       4/17 Test  #83: minuit2-Quad12FMain ..............   Passed    0.04 sec
            Start  84: minuit2-DemoGaussSim
       5/17 Test  #84: minuit2-DemoGaussSim .............   Passed    4.38 sec
            Start  85: minuit2-DemoFumili
       6/17 Test  #85: minuit2-DemoFumili ...............   Passed    0.56 sec
            Start  86: minuit2-PaulTest
       7/17 Test  #86: minuit2-PaulTest .................   Passed    1.15 sec
            Start  87: minuit2-PaulTest2
       8/17 Test  #87: minuit2-PaulTest2 ................   Passed    0.29 sec
            Start  88: minuit2-PaulTest3
       9/17 Test  #88: minuit2-PaulTest3 ................   Passed    0.90 sec
            Start  89: minuit2-PaulTest4
      10/17 Test  #89: minuit2-PaulTest4 ................   Passed    0.63 sec
            Start  90: minuit2-ReneTest
      11/17 Test  #90: minuit2-ReneTest .................   Passed    1.79 sec
            Start  91: minuit2-ParallelTest
      12/17 Test  #91: minuit2-ParallelTest .............   Passed    6.79 sec
            Start  92: minuit2-demoMinimizer
      13/17 Test  #92: minuit2-demoMinimizer ............   Passed    0.93 sec
            Start  93: minuit2-testMinimizer
      14/17 Test  #93: minuit2-testMinimizer ............***Failed   13.16 sec
            Start 227: tutorial-fit-minuit2FitBench
      15/17 Test #227: tutorial-fit-minuit2FitBench .....***Failed  Error regular expression found in output. Regex=[Error in <] 20.91 sec
            Start 228: tutorial-fit-minuit2FitBench2D
      16/17 Test #228: tutorial-fit-minuit2FitBench2D ...   Passed    3.58 sec
            Start 229: tutorial-fit-minuit2GausFit
      17/17 Test #229: tutorial-fit-minuit2GausFit ......***Failed    2.43 sec
       
      82% tests passed, 3 tests failed out of 17
       
      Label Time Summary:
      tutorial    =  26.92 sec*proc (3 tests)
       
      Total Test time (real) =  60.79 sec
       
      The following tests FAILED:
      	 93 - minuit2-testMinimizer (Failed)
      	227 - tutorial-fit-minuit2FitBench (Failed)
      	229 - tutorial-fit-minuit2GausFit (Failed)
      Errors while running CTest
      

      $ ctest -V -R tutorial-fit-minuit2FitBench
      UpdateCTestConfiguration  from :/home/amadio/build/gcc7.3/DartConfiguration.tcl
      Parse Config file:/home/amadio/build/gcc7.3/DartConfiguration.tcl
       Add coverage exclude regular expressions.
      SetCTestConfiguration:CMakeCommand:/usr/bin/cmake
      UpdateCTestConfiguration  from :/home/amadio/build/gcc7.3/DartConfiguration.tcl
      Parse Config file:/home/amadio/build/gcc7.3/DartConfiguration.tcl
      Test project /home/amadio/build/gcc7.3
      Constructing a list of tests
      Ignore test: test-stressproof
      Ignore test: roottest-cling-parsing-semicolon
      Done constructing a list of tests
      Updating test list for fixtures
      Added 0 tests to meet fixture requirements
      Checking test dependency graph...
      Checking test dependency graph end
      test 227
          Start 227: tutorial-fit-minuit2FitBench
       
      227: Test command: /usr/bin/cmake "-DCMD=/home/amadio/build/gcc7.3/bin/root.exe^-b^-l^-q^/home/amadio/src/root/tutorials/fit/minuit2FitBench.C" "-DSYS=/home/amadio/build/gcc7.3" "-DENV=PATH@/home/amadio/build/gcc7.3/bin:/usr/lib/ccache/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/7.3.0:/usr/lib/llvm/5/bin:/usr/lib/llvm/4/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/games/bin:/opt/cuda/bin:/opt/root/6.12/bin:/home/amadio/bin:.#LD_LIBRARY_PATH@/home/amadio/build/gcc7.3/lib:/usr/bin/../lib:#ROOTSYS@/home/amadio/build/gcc7.3#PYTHONPATH@/home/amadio/build/gcc7.3/lib:/opt/root/6.12/lib" "-P" "/home/amadio/src/root/cmake/modules/RootTestDriver.cmake"
      227: Test timeout computed to be: 1200
      227: 
      227: Processing /home/amadio/src/root/tutorials/fit/minuit2FitBench.C...
      227: 
      227: *********************************************************************************
      227: 	 Minuit 
      227: *********************************************************************************
      227: pass : 0
      227: ................... FCN=205.276 FROM MINOS     STATUS=SUCCESSFUL     44 CALLS         429 TOTAL
      227:                      EDM=3.83288e-10    STRATEGY= 1      ERROR MATRIX ACCURATE 
      227:   EXT PARAMETER                                   STEP         FIRST   
      227:   NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
      227:    1  p0           5.13639e+01   2.01329e+00  -2.79418e-04  -2.05471e-06
      227:    2  p1           5.57813e+01   4.80582e+00   3.09127e-03  -9.98919e-07
      227:    3  p2           7.42112e+01   1.87041e+00  -1.20311e-03  -1.93173e-07
      227:    4  p3           4.27344e+02   2.93232e+00  -1.66243e-02  -7.80957e-07
      227:    5  p4           3.58604e-02   3.47005e-04   1.74159e-07   9.80777e-02
      227:    6  p5           1.00001e+00   1.64203e-04   1.64203e-04   3.19213e-02
      227: Minuit, npass=20  : RT=  0.473 s, Cpu=  0.480 s
      227: 
      227: *********************************************************************************
      227: 	 Fumili 
      227: *********************************************************************************
      227: pass : 0
      227: ...................
      227: ****************************************
      227: Minimizer is Fumili
      227: Chi2                      =      206.284
      227: NDf                       =          194
      227: NCalls                    =            4
      227: p0                        =      51.4325   +/-   2.01397     
      227: p1                        =      55.5412   +/-   4.81253     
      227: p2                        =      74.2976   +/-   1.87298     
      227: p3                        =      427.425   +/-   2.93868     
      227: p4                        =    0.0358559   +/-   0.000357243 
      227: p5                        =      1.00001   +/-   0.00016009  
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 0 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 1 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 2 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 3 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 4 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 5 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 6 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 7 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 8 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 9 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 10 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 11 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 12 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 13 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 14 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 15 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 16 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 17 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 18 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 19 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Warning in <Fit>: Abnormal termination of minimization.
      227: Fumili, npass=20  : RT=  0.277 s, Cpu=  0.270 s
      227: 
      227: *********************************************************************************
      227: 	 Minuit2 
      227: *********************************************************************************
      227: pass : 0
      227: ...................
      227: ****************************************
      227:          Invalid FitResult  (status = 3 )
      227: ****************************************
      227: Minimizer is Minuit2 / Migrad
      227: Chi2                      =      218.387
      227: NDf                       =          194
      227: Edm                       =      19.4935
      227: NCalls                    =          257
      227: p0                        =      48.1042   +/-   1.26456     
      227: p1                        =      60.8191   +/-   0.319428    
      227: p2                        =       72.535   +/-   0.484838    
      227: p3                        =      429.335   +/-   2.87473     
      227: p4                        =     0.035709   +/-   0.000339001 
      227: p5                        =      1.00002   +/-   0.000163289 
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Reached call limit
      227: Error in <DoFit>: Fit pass 0 failed !
      227: Info in <Minuit2>: MnGlobalCorrelationCoeff: inversion of matrix fails.
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Reached call limit
      227: Error in <DoFit>: Fit pass 1 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 2 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Error in <DoFit>: Fit pass 3 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Reached call limit
      227: Error in <DoFit>: Fit pass 4 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 5 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 6 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Reached call limit
      227: Error in <DoFit>: Fit pass 7 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Reached call limit
      227: Error in <DoFit>: Fit pass 8 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 9 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 10 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 11 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 12 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 13 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 14 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 15 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 16 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 17 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      227: Error in <DoFit>: Fit pass 18 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Reached call limit
      227: Error in <DoFit>: Fit pass 19 failed !
      227: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Edm is above max
      227: Warning in <Fit>: Abnormal termination of minimization.
      227: Minuit2, npass=20  : RT=  7.402 s, Cpu= 50.620 s
      227: 
      227: *********************************************************************************
      227: 	 Fumili2 
      227: *********************************************************************************
      227: pass : 0
      227: ...................
      227: ****************************************
      227:          Invalid FitResult  (status = 3 )
      227: ****************************************
      227: Minimizer is Minuit2 / Fumili
      227: Chi2                      =      2434.51
      227: NDf                       =          194
      227: Edm                       =    0.0569877
      227: NCalls                    =          109
      227: p0                        =      213.252   +/-   0           
      227: p1                        =      182.874   +/-   0           
      227: p2                        =    -0.202658   +/-   0           
      227: p3                        =      97677.8   +/-   0           
      227: p4                        = -4.48883e+06   +/-   0           
      227: p5                        =  1.66073e+15   +/-   0           
      227: Info in <TCanvas::SaveAs>: ROOT file FitBench.root has been created
      227: Fumili2, npass=20  : RT=  9.307 s, Cpu= 63.410 s
      227: (int) 1
      227: CMake Error at /home/amadio/src/root/cmake/modules/RootTestDriver.cmake:232 (message):
      227:   error code: 1
      227: 
      227: 
      1/2 Test #227: tutorial-fit-minuit2FitBench .....***Failed  Error regular expression found in output. Regex=[Error in <] 17.98 sec
      test 228
          Start 228: tutorial-fit-minuit2FitBench2D
       
      228: Test command: /usr/bin/cmake "-DCMD=/home/amadio/build/gcc7.3/bin/root.exe^-b^-l^-q^/home/amadio/src/root/tutorials/fit/minuit2FitBench2D.C" "-DSYS=/home/amadio/build/gcc7.3" "-DENV=PATH@/home/amadio/build/gcc7.3/bin:/usr/lib/ccache/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/7.3.0:/usr/lib/llvm/5/bin:/usr/lib/llvm/4/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/games/bin:/opt/cuda/bin:/opt/root/6.12/bin:/home/amadio/bin:.#LD_LIBRARY_PATH@/home/amadio/build/gcc7.3/lib:/usr/bin/../lib:#ROOTSYS@/home/amadio/build/gcc7.3#PYTHONPATH@/home/amadio/build/gcc7.3/lib:/opt/root/6.12/lib" "-P" "/home/amadio/src/root/cmake/modules/RootTestDriver.cmake"
      228: Test timeout computed to be: 1200
      228: 
      228: Processing /home/amadio/src/root/tutorials/fit/minuit2FitBench2D.C...
      228:  FCN=7196.63 FROM MIGRAD    STATUS=CONVERGED     169 CALLS         170 TOTAL
      228:                      EDM=3.06507e-09    STRATEGY= 1  ERROR MATRIX UNCERTAINTY   2.0 per cent
      228:   EXT PARAMETER                                   STEP         FIRST   
      228:   NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
      228:    1  p0           5.28670e+01   2.67227e-01   1.71567e-03   1.41591e-04
      228:    2  p1           2.00562e+00   9.99521e-03  -6.72962e-05  -5.71944e-03
      228:    3  p2          -1.02279e+00   1.35440e-02   3.22465e-05   2.77025e-03
      228:    4  p3           2.89928e+00   7.94099e-03  -9.38703e-05  -4.55754e-03
      228:    5  p4           3.86656e+00   1.13330e-02   1.06568e-05  -2.11128e-03
      228: Minuit, npass=0  : RT=  0.794 s, Cpu=  0.790 s
      228: 
      228: ****************************************
      228: Minimizer is Fumili
      228: Chi2                      =      7196.63
      228: NDf                       =         7366
      228: NCalls                    =           30
      228: p0                        =      52.8672   +/-   0.262932    
      228: p1                        =      2.00562   +/-   0.00992527  
      228: p2                        =     -1.02279   +/-   0.0135821   
      228: p3                        =      2.89927   +/-   0.00781808  
      228: p4                        =      3.86655   +/-   0.011235    
      228: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Hesse is not valid
      228: Warning in <Fit>: Abnormal termination of minimization.
      228: Fumili, npass=0  : RT=  0.322 s, Cpu=  0.320 s
      228: 
      228: ****************************************
      228:          Invalid FitResult  (status = 2 )
      228: ****************************************
      228: Minimizer is Minuit2
      228: Chi2                      =        98112
      228: NDf                       =         7366
      228: Edm                       =            0
      228: NCalls                    =          362
      228: p0                        =      99.7084   +/-   0           
      228: p1                        =     0.074655   +/-   0           
      228: p2                        =   -0.0025807   +/-   0           
      228: p3                        =  -0.00148861   +/-   0           
      228: p4                        =      6.99934   +/-   0           
      228: Info in <Minuit2>: Minuit2Minimizer::Minimize : Minimization did NOT converge, Reached call limit
      228: Warning in <Fit>: Abnormal termination of minimization.
      228: Minuit2, npass=0  : RT=  1.479 s, Cpu=  7.850 s
      228: 
      228: ****************************************
      228:          Invalid FitResult  (status = 4 )
      228: ****************************************
      228: Minimizer is Minuit2 / Fumili
      228: Chi2                      =      95141.3
      228: NDf                       =         7366
      228: Edm                       =       1159.7
      228: NCalls                    =          167
      228: p0                        =      20.6596   +/-   0.246989    
      228: p1                        =      1.54576   +/-   0.00409372  
      228: p2                        =     -2.61614   +/-   4.01203e+07 
      228: p3                        =     0.354661   +/-   0.00414922  
      228: p4                        =      -190652   +/-   1.76576e+11 
      228: Fumili2, npass=0  : RT=  0.836 s, Cpu=  4.430 s
      2/2 Test #228: tutorial-fit-minuit2FitBench2D ...   Passed    3.74 sec
       
      The following tests passed:
      	tutorial-fit-minuit2FitBench2D
       
      50% tests passed, 1 tests failed out of 2
       
      Label Time Summary:
      tutorial    =  21.72 sec*proc (2 tests)
       
      Total Test time (real) =  22.56 sec
       
      The following tests FAILED:
      	227 - tutorial-fit-minuit2FitBench (Failed)
      Errors while running CTest
      

        Attachments

          Activity

            People

            Assignee:
            moneta Lorenzo Moneta
            Reporter:
            amadio Guilherme Amadio
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated: