[eigen] General questions about vectorization/alignment AGAIN

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi all,

Once again thanks for developing such a great matrix library!
Form the user's/programmer's view of Eigen3, vectorization/alignment
is one of the most complicated issues. I very much appreciate the
documentation you added which describes this issue in detail.

I read through the documentation
(http://eigen.tuxfamily.org/dox-devel/TopicUnalignedArrayAssert.html)
and also skipped through the mailing list. Though, I still have a
couple of open question which might also be of general interest.

* It seems like that all issues regarding alignment only occur on
32-bit operation systems, right? (Would be nice to add this info to
http://eigen.tuxfamily.org/dox-devel/TopicUnalignedArrayAssert.html.
  Btw., which is the easiest way to test the code on a 64-bit OS? I
used virtual box to setup a 32-bit OS. Is there an easier option?)

* Is it safe to add an alignment operator, even though the underlying
datatype is not a "fixed-size vectorizable"?
E.g.: vector<Vector3d, Eigen::aligned_allocator<Eigen::Vector3d> > Is
this any dangerous?

* What is the right way to use an std container recursively?
 - Is this code alright:
  typedef std::vector<Vector4d,
Eigen::aligned_allocator<Eigen::Vector4d> >  AlignedVector;
  std::map<int, AlignedVector> int_vec_map;

* Is it safe to use a "fixed-size vectorizable" and
Eigen::aligned_allocator in conjunction with std::tr1::unordered_map?

* Is it safe to add EIGEN_MAKE_ALIGNED_OPERATOR_NEW to a class even
though it does NOT include a "fixed-size vectorizable"?

I have the strong feeling that all these question can be answered with
"yes". However, I want to be sure.

Thanks a lot,
Hauke



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/