Hi Travis, please try if setting OMP_NUM_THREADS=4 or smaller fixes this problem. This is something that I have to do in the CI scripts for Normaliz also (https://github.com/Normaliz/Normaliz/blob/master/.travis-build.sh#L7) Best, Matthias
On Saturday, May 13, 2017 at 12:45:46 PM UTC-7, Travis Scrimshaw wrote: > > For the combinat/rigged_configurations, I recently changed the iteration > method to use lattice point counting using normaliz (if installed). > However, when running the doctests in parallel with normaliz installed, > this causes a significant slowdown: > > travis@apricot:~/sage-build$ ./sage -tp 2 src/sage/combinat/ > rigged_configurations/* > too many failed tests, not using stored timings > Running doctests with ID 2017-05-13-14-41-00-970329a3. > Git branch: public/crystals/speedup_rigged_configurations-TBA > Using > --optional=coxeter3,database_gap,gambit,libbraiding,libhomfly,meataxe,mpir,normaliz,ore_algebra,pynormaliz,python2,sage,sirocco > Sorting sources by runtime so that slower doctests are run first.... > Doctesting 24 files using 2 threads. > sage -t src/sage/combinat/rigged_configurations/kr_tableaux.py > [238 tests, 9.41 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_B.py > [41 tests, 5.29 s] > sage -t > src/sage/combinat/rigged_configurations/rigged_configuration_element.py > [268 tests, 17.18 s] > sage -t > src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux_element.py > [75 tests, 5.61 s] > sage -t src/sage/combinat/rigged_configurations/rigged_configurations.py > [214 tests, 15.21 s] > sage -t src/sage/combinat/rigged_configurations/rc_infinity.py > [105 tests, 2.07 s] > sage -t > src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux.py > [91 tests, 4.31 s] > sage -t src/sage/combinat/rigged_configurations/bij_infinity.py > [44 tests, 1.87 s] > sage -t src/sage/combinat/rigged_configurations/rc_crystal.py > [83 tests, 1.13 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_E67.py > [68 tests, 2.95 s] > sage -t src/sage/combinat/rigged_configurations/bij_abstract_class.py > [66 tests, 0.77 s] > sage -t src/sage/combinat/rigged_configurations/kleber_tree.py > [218 tests, 37.54 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_D.py > [79 tests, 0.77 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_D_twisted.py > [29 tests, 0.57 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_C.py > [28 tests, 0.54 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_A2_dual.py > [19 tests, 0.48 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_A2_odd.py > [19 tests, 0.49 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_D_tri.py > [19 tests, 0.48 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_A2_even.py > [19 tests, 0.48 s] > sage -t src/sage/combinat/rigged_configurations/bijection.py > [6 tests, 0.35 s] > sage -t src/sage/combinat/rigged_configurations/rigged_partition.py > [58 tests, 0.46 s] > sage -t src/sage/combinat/rigged_configurations/__init__.py > [0 tests, 0.00 s] > sage -t src/sage/combinat/rigged_configurations/all.py > [0 tests, 0.00 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_A.py > [19 tests, 0.36 s] > ---------------------------------------------------------------------- > All tests passed! > ---------------------------------------------------------------------- > Total time for all tests: 54.9 seconds > cpu time: 367.9 seconds > cumulative wall time: 108.3 seconds > > > > Compare when run in series: > > travis@apricot:~/sage-build$ ./sage -t src/sage/combinat/ > rigged_configurations/* > too many failed tests, not using stored timings > Running doctests with ID 2017-05-13-14-39-54-6e47b138. > Git branch: public/crystals/speedup_rigged_configurations-TBA > Using > --optional=coxeter3,database_gap,gambit,libbraiding,libhomfly,meataxe,mpir,normaliz,ore_algebra,pynormaliz,python2,sage,sirocco > Doctesting 24 files. > sage -t src/sage/combinat/rigged_configurations/all.py > [0 tests, 0.00 s] > sage -t src/sage/combinat/rigged_configurations/bij_abstract_class.py > [66 tests, 0.56 s] > sage -t src/sage/combinat/rigged_configurations/bijection.py > [6 tests, 0.33 s] > sage -t src/sage/combinat/rigged_configurations/bij_infinity.py > [44 tests, 0.70 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_A2_dual.py > [19 tests, 0.43 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_A2_even.py > [19 tests, 0.42 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_A2_odd.py > [19 tests, 0.43 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_A.py > [19 tests, 0.32 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_B.py > [41 tests, 1.85 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_C.py > [28 tests, 0.46 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_D.py > [79 tests, 0.55 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_D_tri.py > [19 tests, 0.42 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_D_twisted.py > [29 tests, 0.52 s] > sage -t src/sage/combinat/rigged_configurations/bij_type_E67.py > [68 tests, 0.61 s] > sage -t src/sage/combinat/rigged_configurations/__init__.py > [0 tests, 0.00 s] > sage -t src/sage/combinat/rigged_configurations/kleber_tree.py > [218 tests, 1.56 s] > sage -t src/sage/combinat/rigged_configurations/kr_tableaux.py > [238 tests, 5.16 s] > sage -t src/sage/combinat/rigged_configurations/rc_crystal.py > [83 tests, 0.62 s] > sage -t src/sage/combinat/rigged_configurations/rc_infinity.py > [105 tests, 1.41 s] > sage -t > src/sage/combinat/rigged_configurations/rigged_configuration_element.py > [268 tests, 3.48 s] > sage -t src/sage/combinat/rigged_configurations/rigged_configurations.py > [214 tests, 1.46 s] > sage -t src/sage/combinat/rigged_configurations/rigged_partition.py > [58 tests, 0.40 s] > sage -t > src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux_element.py > [75 tests, 1.50 s] > sage -t > src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux.py > [91 tests, 0.94 s] > ---------------------------------------------------------------------- > All tests passed! > ---------------------------------------------------------------------- > Total time for all tests: 25.0 seconds > cpu time: 34.8 seconds > cumulative wall time: 24.1 seconds > > I have 4 physical cores with 8 logical (i.e., hyperthreading), and when I > run using 2 threads, all of my CPU cores start working. However, running in > series, I only see 1 core being used (and not nearly with the same load). > It only gets worse when I add threads and this is not related to the branch > I am currently working on as I also get it on develop. So I suspect there > some kind of thrashing or lock collisions going on between normaliz (which > uses parallel computing IIRC for the lattice point enumeration) and the > Sage doctesting framework. > > Any thoughts about what to do? > > Best, > Travis > > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.