mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-30 00:50:37 +08:00
3fa415bd0c7624f5371073f8bf6fd23aa18bdb27
- Eigen versions < 3.3 only supported SIMD instructions that required 16-byte alignment (SSE), whereas Eigen >= 3.3 also supports AVX instructions which require 32+-byte alignment. - Previously we only ever requested 16-byte alignment for Jets (if >= C++11 was enabled) which resulted in Eigen assertions being triggered on some compilers as reported as Issue #251: https://github.com/ceres-solver/ceres-solver/issues/251. - Now we use Eigen’s EIGEN_MAX_ALIGN_BYTES macro, defined in Eigen >= 3.3 to specify the byte alignment for Jets when C++11 is enabled for Eigen >= 3.3. For Eigen versions < 3.3, we maintain the previous behaviour of 16. Change-Id: I749af7a70ae794e0c2a59301128db781e338422c
Ceres Solver
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.
WARNING - Do not make GitHub pull requests!
Ceres development happens on Gerrit, including both repository hosting and code reviews. The GitHub Repository is a continuously updated mirror which is primarily meant for issue tracking. Please see our Contributing to Ceres Guide for more details.
The upstream Gerrit repository is
https://ceres-solver.googlesource.com/ceres-solver
Description
Languages
C++
94.4%
CMake
3.8%
Python
0.8%
C
0.5%
Starlark
0.4%