Re: [eigen] a few more points...

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


2009/1/3 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
> actually, in that example ForceAligned is automatically set by Eigen,
> but of course, for such a small block it is useless because the
> vectorized path won't be taken. So just to make it clear, let's take
> another example:
>
> VectorXf a(1000), b(150);
> a.segment(3,150) += b;
>
> in that case, ForceAligned is still automatically set by Eigen for the
> subvector of "a" (in MapBase) which allow to perform read operation
> from a.segment(3,150) in an aligned fashion. This is because in
> Assign.h we guarantee that store operations are always aligned.

Ah, I really understand now. ForceAligned is set generously because it
doesn't mean that packet access will be used, it only says that IF
packet will be used then it will be aligned. So you can set
ForceAligned without asking 36 questions about whether vectorization
is actually possible.

Thanks,
Benoit

---


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