[eigen] 3.2 feature plan

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


Hi list,

let's start talking about the features planed for 3.2.

The top one priority is of course to finalize the new evaluator
mechanism we designed last year and that Jitse bravely started to
implement.

This refactoring is indeed fundamental to be able to go further, and
start adding new features. You can check the following wikipage and
bug report to have all the details and follow its development:
 * http://eigen.tuxfamily.org/index.php?title=Working_notes_-_Expression_evaluator
 * http://eigen.tuxfamily.org/bz/show_bug.cgi?id=99
This will be my own top one priority for Eigen, and I hope some others
will find some time to help on this tasks. I think Jitse already said
he'd like to continue this task.


Then, regarding the Core and dense algebra modules, I'm thinking about
the following features in order of importance:

1 - Indexed expressions like mat(<1D index expression>,<1D index
expression>) or mat(<1D boolean expr>,<1D boolean expr>), see:
    * http://eigen.tuxfamily.org/bz/show_bug.cgi?id=329
    * thread "Eigen views":
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2011/08/threads.html

2 - A general expression for function arguments which can be converted
from various Eigen's objects (Matrix, Map, Block, etc.)
    * see the thread "Eigen Types as Parameters for Functions":
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2012/02/threads.html

3 - AVX vectorization (there are also some threads about it)


1 and 2 are probably the most important, 3 would be very welcomed of
course but it's less crucial to me.

Also note that 1 and 3 require the new evaluator to be implemented
first. On the other hand 2 can be done in parallel. In particular 2
should be very easy to implement, we just have to decide about the API
details (see the respective thread). If we can come up with something
rapidly, I even plan to backport it in 3.1.x.


Regarding sparse stuff, Désiré is currently working on a supernodal LU
factorization that should be ready during this summer. Then we'll
probably move the GMRES currently available in unsupported/ to
supported, add a few preconditioners, and add more ordering methods.


I think that's already a lot for a first sketch, so now your turn to
comment of these proposals, and make new ones ;) There are a lot of
features which can be addressed without having to look inside Eigen's
internals! A scalable SVD is probably the most wanted one.


cheers,
gael



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