[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
I have a few questions regarding the use of SSE instructions in the Eigen 2.x branch (2.0.11 to be more exact). I've
looked at the generated assembly for some of them, but I just want to double check this with the Eigen developers.
1) Why isn't a Vector4f constructor converted into an _mm_set_ps on an SSE platform? Looking through Core/arch/SSE, I
did not find any reference to _mm_set_ps.
2) Is there any interest in having a specialized 3x3 covariance matrix estimation method for the SSE case? Not sure how
many people use this, but using _mm_shuffle_ps and a few pointer tricks reduced the number of operations drastically.
3) What is the status of MapAligned in 2.x? Looking at Matrix.h, I see:
429 * \warning Do not use MapAligned in the Eigen 2.0. Mapping aligned arrays will be fully
430 * supported in Eigen 3.0 (already implemented in the development branch)
which makes me believe it's not officially supported? Empirically I found out that it works well.
4) Is this the recommended optimized way to get a dot product between a VectorXf and a Vector4f ?
float d = ((Eigen::Vector4f)my_vectorxf).start<4>().dot (my_vector4f);
I have more, but let's take it slowly :)
| Radu Bogdan Rusu | http://rbrusu.com/