Parallelize PSE preconditioner Parallelization of remaining block-diagonal matrix-vector product and vector operations makes parallel execution slightly faster Before (Intel 8176 CPU, 10 iterations): ----------------------------------------------------------------------- Benchmark Time ----------------------------------------------------------------------- PSEPreconditioner...<problem-13682-4456117-pre.txt>/1_median 26677 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/1_stddev 26.6 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/2_median 31037 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/2_stddev 191 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/4_median 16915 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/4_stddev 98.0 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/8_median 9175 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/8_stddev 44.1 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/16_median 4974 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/16_stddev 11.5 ms After: ----------------------------------------------------------------------- Benchmark Time ----------------------------------------------------------------------- PSEPreconditioner...<problem-13682-4456117-pre.txt>/1_median 26609 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/1_stddev 69.4 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/2_median 29178 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/2_stddev 367 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/4_median 16152 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/4_stddev 106 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/8_median 8773 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/8_stddev 41.5 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/16_median 4800 ms PSEPreconditioner...<problem-13682-4456117-pre.txt>/16_stddev 14.7 ms Change-Id: Ib1d1b0c4edf9c556a9e996c49486d2726efcc558
Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.
Please see ceres-solver.org for more information.