Re: [eigen] news on the refactoring of the expression template mechanism

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


you're right, it should be readable now, even though it's still not perfect...

gael

On Fri, Feb 21, 2014 at 3:57 PM, Benjamin Frigan
<frigan@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> First of all, thanks for all the work you put into making the slides.
> However, the text is not always shown properly on some slides in file
> Eigen3.3_ExprTemplExplained.pdf
> See for instance slide 2 (text reaches beyond page size) or slide 5 (letters
> on top of each other).
> I used three different programs (gv, evince, okular) and always get the same
> result.
> So is it just me?
>
>
> Ben
>
>
>
>
> On 21/02/14 15:02, Gael Guennebaud wrote:
>>
>> Hi,
>>
>> this email is mostly intended to people following and interested by
>> Eigen's internals.
>>
>> As most of you probably know, since the releases of Eigen 3.0 we
>> started a significant refactoring of the expression template mechanism
>> under the code name "evaluators" aka "bug99" [1].
>>
>> After we came-up with initial proof-of-concept, Jitse started its
>> implementation into Eigen's code base and I recently (a few months
>> back) started to seriously work on it again. To keep the default
>> branch safe, these recent efforts are done in a separate repository
>> [2]. This refactoring is much more work than what I expected, but I've
>> reached a state where I think that the rest of the refactoring should
>> be quite mechanical. So I think it's time to describe the new design
>> and to discuss it before going too far.
>>
>> To this end I prepared a pdf [3] that summarize the new concepts and
>> their true implementation inside Eigen. This pdf focuses on the
>> technical implementation details of the concepts, so for those who are
>> not familiar at all with expression templates, have a look at the
>> slides 39 to 78 of this presentation [4].
>> (Disclaimer: I choose to make slides to present the new design because
>> I initially thought that I would make a lot of diagrams. So finally
>> that's not an ideal format and I probably has better to simply update
>> the initial working note page [5] but that's all I got for today).
>>
>> The main purpose here is to start discussions and get some early
>> feedbacks.
>>
>> A few remarks that are not in the slides:
>>
>> - Currently, the two mechanisms co-exist via conditional compilations
>> (EIGEN_ENABLE_EVALUATORS and EIGEN_TEST_EVALUATORS). This means the
>> code is a bit messy. Maybe it's OK to already do a big cleaning pass
>> since we have a separate branch anyway?
>>
>> - Currently I only focused on the Core and LU modules, and even for
>> these modules, the refactoring is not complete (e.g., visitor, deeper
>> cleaning in products is needed, image() and kernel() have to ported,
>> etc.). Other modules are broken.
>>
>> - All unit-tests making exclusive uses of the Core and LU modules
>> compile and run fine with EIGEN_TEST_EVALUATORS.
>>
>> - There are many TODO and FIXME notes in the code for which feedback
>> would be welcome.
>>
>> I'll try to come up with a more precise DONE versus TODO list later,
>> but as pointed out in the pdf, there are still a few black areas, so I
>> don't have myself a precise idea of what's really DONE.
>>
>> Gael
>>
>> [1] http://eigen.tuxfamily.org/bz/show_bug.cgi?id=99
>> [2] https://bitbucket.org/ggael/eigen-evaluators
>> [3]
>> https://dl.dropboxusercontent.com/u/260133/eigen/Eigen3.3_ExprTemplExplained.pdf
>> [4] http://downloads.tuxfamily.org/eigen/eigen_CGLibs_Giugno_Pisa_2013.pdf
>> [5] (old stuff)
>>
>> http://eigen.tuxfamily.org/index.php?title=Working_notes_-_Expression_evaluator
>>
>>
>>
>>
>
>
>



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