-
Notifications
You must be signed in to change notification settings - Fork 287
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SkelParser.cpp eigen issues #413
Comments
Also, i am having an issue with the "return std::make_shared<...>" code. I have found that boost::make_shared will not work with objects requiring alignment, and i think that's the issue here as well. see this thread : https://forum.kde.org/viewtopic.php?f=74&t=97936 specifically this : Edit : more on this : |
Just out of curiosity, @jturner65 , what platform are you getting these issues on? We were negligent about explicitly dealing with Eigen's alignment problems, because we thought this was resolved with C++11, but it seems that not all platforms support that part of the standard yet. It looks like Windows is one such culprit. |
@mxgrey I've also seen many more alignment issues on @jturner65 Are you running 32-bit or 64-bit Windows? |
i am on windows 7 64, using visual studio 2013 32-bit. with regard to the alignment issues, i wouldn't think any standard adherence would help this since, as i understand it, Eigen's alignment requirements are related to SIMD optimisations. |
We haven't been experiencing any alignment-related issues with GCC and Clang, which both have the C++11 alignment support that VS2013 only has "partial" support for. You can see on this page that according to the Eigen developers, the alignment issues are resolved in C++11:
|
cool, thanks for the link - it's good to know that at least some compilers don't have this issue. |
Hopefully once Microsoft catches up, the whole issue can be a thing of the past. We thought it already was, but I guess we need to get some active Windows developers on the team. |
i'd love to help :- ) i've been living in dart for a couple years now. i'll help out any way i can. |
fixed with #414 |
The new SkelParser.h file defines 2 stl containers (specifically maps) of structures containing vectorizable Eigen constructs (as does SdfParser.h on lines 77,78). as per this page :
http://eigen.tuxfamily.org/dox/group__TopicStlContainers.html
these maps need to specify alignment allocators.
furthermore, in Joint.h : struct Properties requires EIGEN_MAKE_ALIGNED_OPERATOR_NEW (I'm pretty sure an Isometry3d is vectorizable and so subject to this requirement)
Edit: here's something that is being done in the MRPT to address this kind of thing :
http://reference.mrpt.org/svn/aligned__containers_8h_source.html
note, this problem is with stl containers of Eigen vectorizable constructs, or -> structs containing them <-, the latter of which is the issue here, i think.
The text was updated successfully, but these errors were encountered: