[eigen] generic unrollers |

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

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: [eigen] generic unrollers*From*: Benoît Jacob <jacob@xxxxxxxxxxxxxxx>*Date*: Mon, 9 Jun 2008 08:50:47 +0200

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**

**Follow-Ups**:**Re: [eigen] generic unrollers***From:*Gael Guennebaud

**Re: [eigen] generic unrollers***From:*Benoît Jacob

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] on fuzzy comparisons** - Next by Date:
**[eigen] limiting executable code size with debug info** - Previous by thread:
**Re: [eigen] on fuzzy comparisons** - Next by thread:
**Re: [eigen] generic unrollers**

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