-
Notifications
You must be signed in to change notification settings - Fork 5
Future Works
This section contains the work that has been set to be done in the future / Post-GSoC period. Some of the these work are here because I couldn't complete it during Google summer of Code Period, while some are here because of some technical difficulties in YAP. The complete work can monitored in the kanaban board here.
Assignee coder3101 , bassoy , amitsingh19975
Priority High
Description
All the Boost Libraries have detail
implementation in a separate directory called detail
. It is so kept to keep things organized and also let user know that some header belong to detail directory and should not be included. Our current tensor source does not have any such directory rather everything is kept at one place. We are keeping our detail
in a separate nested namespace. Due to this it becomes very difficult to maintain the library and add features to it.
Link to the Issue is here
Priority Low
Description
The new tensor expression that uses YAP is copy/movable, this allows us to reliably move and copy the expression allowing us to use it as a function argument. Due to those features we were able to add many utilities such as ublas::apply
and expression_optimizer
. These utilities cannot be used with ublas::expressions
because they can't be copied or moved. In order to add full interoperability between the tensor and ublas::expression
we need to make them copy and movable.
Link to the Issue is here
Assignee coder3101, amitsingh19975
Priority High
Description
Current tensor evaluation is carried out using Open-MP parallel for
loop. We initially presented in our proposal for the idea of adding a device based execution policy just like Eigen. Due to some issues with tensor-expression optimizer, we failed to achieve this goal. This features however has been now moved to future work sections. We both will do this together, this involves adding documentation and tests as well.
Link to the Issue is here
Assignee coder3101
Priority High
Description
Expression optimization was not possible to be done at compile-time for dynamic tensors. We are now using std::variant
to optimize the expression at runtime this is a experimental feature and more information could be found at this(add) page. Once we find the this implementation is beneficial we will add this to main branch.
Assignee coder3101
Priority Normal
Description
Currently we are able to build up expression representing Einstein Notation but we cannot evaluate those lazy expressions. We plan to add make those expression evaluate-able, once we understand how those operations are performed for tensors involving multiple tensors.
Priority Low
Description
We are able to lazy-ify tensor-contractions involving multiple tensors, now we wish to evaluate the contraction in such a way that minimum possible operations are performed during evaluation. This can be done using Dynamic Programming. We wish to add this subroutine into main branch later this year.
We both would like to thank our mentor Cem for his constant support and help in achieving our goals. We always find him helpful and he was always easy to reach for help or discussion regarding the work. We would also like to thank Google for the Google Summer of Code Programme, without which all these wouldn't be possible. Lastly, we express our gratitude to our parents for helping and providing us with all the indirect or direct needs for carrying out our work nicely in our homes.
- Home
- Project Proposal
- Milestones and Tasks
- Implementation
- Documentation
- Discussions
- Examples
- Experimental features
- Project Proposal
- Milestones and Tasks
- Implementation
- Documentation
- Discussions
- Example Code