commit | e6b2f532b497011071958416c9d36986eac29474 | [log] [tgz] |
---|---|---|
author | Dmitriy Korchemkin <dmitriy.korchemkin@gmail.com> | Wed Sep 27 21:08:53 2023 +0000 |
committer | Dmitriy Korchemkin <dmitriy.korchemkin@gmail.com> | Thu Sep 28 21:11:26 2023 +0000 |
tree | 9ffafad5deb6d6a2d74722af63219fe9dd9eafb9 | |
parent | 41672dff8cc894cdcb4e6ce3ed6bc0bfd74b3aaa [diff] |
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.