Enable support for AVX instructions for Jets. - 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 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.
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