http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html (更多详情需要参考这个网址) 解决方案: 在ndt_gpu库的CMakeLists.txt中添加下述指令,重新编译即可。 SET(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -std=c++0x -O3 -mtune=native")...
在 64 字节系统上,还可以将EIGEN_MAX_STATIC_ALIGN_BYTES定义为16以只禁用 32 和 64 字节的过度对齐。但请注意,这会破坏 ABI 与默认静态对齐行为的兼容性。 或者同时定义EIGEN_DONT_VECTORIZE和EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT。这保留了 16 字节(或以上)对齐,从而保留了 ABI 兼容性,但完全禁用了矢量化。
/usr/include/eigen3/Eigen/src/Core/DenseStorage.h:128: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = double; int Size = 16; int MatrixOrArrayOptions = 0]: Assertion `(reinterpret_cast<size_t>(eigen_unaligned_array_assert_workaround_...
我很是吃惊,怎么能一行代码都没执行就崩了呢。但崩了就是崩了,一定是哪里有bug,我用valgrind检查内存问题,发现种种线索都指向g2o。g2o是一个SLAM后端优化库,里面封装了大量SLAM相关的优化算法,内部使用了Eigen进行矩阵运算。阴差阳错之...
UnalignedArrayAssert.dox UsingIntelMKL.dox WrongStackAlignment.dox eigen_navtree_hacks.js eigendoxy.css eigendoxy_footer.html.in eigendoxy_header.html.in eigendoxy_layout.xml.in eigendoxy_tabs.css examples .krazy CMakeLists.txt DenseBase_middleCols_int.cpp DenseBase_middleRows...
test_eigen: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:128: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = double; int Size = 16; int MatrixOrArrayOptions = 0]: Assertion `(reinterpret_cast<size_t>(eigen_unaligned_array_assert_work...
/usr/include/eigen3/Eigen/src/Core/DenseStorage.h:128:Eigen::internal::plain_array<T,Size,MatrixOrArrayOptions,32>::plain_array()[withT=float;int Size=8;int MatrixOrArrayOptions=0]:Assertion `(reinterpret_cast<size_t>(eigen_unaligned_array_assert_workaround_gcc47(array))&(31))==0&&"...
If code bloat is an issue somewhere, wouldn't it be possible to make some (always inlined) wrapper function, which calls the actual implementation? Maybe at some point the infamous ExpressionEvaluator (bug#99 (closed)) will be able to solve this anyways?
Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = float; int Size = 16; int MatrixOrArrayOptions = 0]: Assertion `(internal::UIntPtr(eigen_unaligned_array_assert_workaround_gcc47(array)) & (31)) == 0 && "this assertion is explained here: ...
EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Derived,OtherDerived) eigen_assert(rows() == other.rows() && cols() == other.cols()); internal::assign_impl<Derived, OtherDerived>::run(derived(),other.derived()); return derived(); } \endcode ...