Re: [eigen] Merge Tensor module |
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
A quick +1 to say I have been looking forward to seeing this in /unsupported so I can try it. Thanks to Benoit for working on it.
Toby
From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
Sent: 09 February 2015 08:43 To: eigen Subject: [eigen] Merge Tensor module Hi,
I'm willing to merge Benoit Steiner's Tensor module in unsupported/. See pull-request #96 (https://bitbucket.org/eigen/eigen/pull-request/96).
Feel free to object with arguments.
Basically, it supports the following features:
- arbitrary tensor rank (up to 5 in C++03)
- fully-dynamic or fully-fixed dimensions
- forward or backward storage order (like row-major/column-major)
- slicing, chipping (pick a R-1 rank sub tensor), reduction,
- contractions using Eigen's fast matrix-matrix and matrix-vector kernels,
- reshape, shuffling of the dimensions,
- convolutions
- etc.
There are also a few features aiming to be integrated in Eigen core. In particular, the evaluation of expressions on CUDA and a fast CUDA matrix-matrix kernel.
Before it can be integrated within Eigen's official modules, we will have to unify everything that can be unified:
- the evaluator mechanisms (more on that later)
- unify Tensor and FixedSizeTensor while enabling mixed fixed-dynamic sizes
- TensorMap -> Map<Tensor>
- CUDA stuffs (more on that later)
- move the documentation to Doxygen
- clean Eigen::array, Eigen::DSizes if possible
- fix Eigen::IndexList (it currently requires C++14)
- etc.
and also stabilize the naming convensions (more on that later).
Additional welcome features could be:
- Ref<Tensor>
- Iterator based evaluation for large-rank _expression_ with complex indexing
- cost model (could allow to switch between index-based and iterator-based evaluation
- unify 1D/2D tensors with MatrixBase?
Nonetheless, I think this is a good timing for the merge as the current implementation is already pretty mature and this will provide the visibility this module deserves.
Cheers,
Gael.
|
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |