commit | 5d53d1ee3839d74cbc759785eceef9e225107dfb | [log] [tgz] |
---|---|---|

author | Dmitriy Korchemkin <dmitriy.korchemkin@gmail.com> | Wed Nov 02 16:06:48 2022 +0300 |

committer | Dmitriy Korchemkin <dmitriy.korchemkin@gmail.com> | Sat Nov 12 18:58:06 2022 +0300 |

tree | e57a4fe518e5f18c45640019c32f20ee66a8a6e4 | |

parent | 9aa52c6ff74358d1b91542221e0545bb61bdedcc [diff] |

Parallel for with iteration costs and left product Parallel for with user-supplied [cumulative] iteration costs allows to get performance improvements on problems with significantly different time requirements per parallel loop iteration. One of those problems is left multiplication with block-sparse matrix. Using number of non-zero values per column block, we partition column blocks into contiguous sets with approximately equal number of operations to be performed. Change-Id: I4a862a10a586cdfbec22e8168a3423537039abc2

- internal/ceres/block_sparse_matrix.cc[diff]
- internal/ceres/block_sparse_matrix.h[diff]
- internal/ceres/block_sparse_matrix_test.cc[diff]
- internal/ceres/cgnr_solver.cc[diff]
- internal/ceres/evaluation_benchmark.cc[diff]
- internal/ceres/parallel_for.h[diff]
- internal/ceres/parallel_for_test.cc[diff]

7 files changed

tree: e57a4fe518e5f18c45640019c32f20ee66a8a6e4

- .github/
- bazel/
- cmake/
- config/
- data/
- docs/
- examples/
- include/
- internal/
- scripts/
- .clang-format
- .gitignore
- BUILD
- CITATION.cff
- CMakeLists.txt
- CONTRIBUTING.md
- LICENSE
- package.xml
- README.md
- WORKSPACE

README.md

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.

- Non-linear Least Squares problems with bounds constraints.
- General unconstrained optimization problems.

Please see ceres-solver.org for more information.