[eigen] generic unrollers

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


Hi,

I measured the impact of reducing the unrolling limit from 400 to 100, and it 
does have a real cost as 4x4 matrix multiplication is no longer unrolled. 
Yet, I admit that 400 was too much. The solution is to -- at last -- do 
partial loop unrolling i.e. unroll the inner direction only.

Since this is making the unrollers even more complicated, and since we now 
have several different places in eigen with such unrollers (Assign.h, 
Redux.h, Part.h, Visitor.h) I think it's now more than time to move to 
generic unrollers. These would take as template argument a struct providing 
the method to apply to each coeff, etc.

OK that I do it?

Other than that, updating the list regarding previous threads, as Gael and I 
still have the bad habit of doing most of the conversation by private mail in 
french:
- for fuzzy compares, it turns out that the Hilbert-Schmidt aka L2 norm works 
just fine, there was just a problem with my initial implementation. That norm 
is the best compromise between speed and accuracy.
- for base classes, we changed our minds so many times that I don't 
remember :P at least for now it seems that we're not adding base classes.

Cheers,
Benoit

Attachment: signature.asc
Description: This is a digitally signed message part.



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