-
Notifications
You must be signed in to change notification settings - Fork 2
Improve Amit Work
In GSoC19, Amit added support for new types and formats like static (compile-time) tensor and in order to achieve them. He added new compile-time data structures that were implemented by him directly. These are widely used in the implementation of static_extents
. This has resulted in a lot of implementation code to maintain and for bringing any new changes or operation one need to be fluent in Template meta programming to understand how it all works.
The improvement comes in the form of discarding all of the code that is used to create a compile-time data structure and use a famous boost library called Boost.MP11, it offers a static list and tons of operation over it. It can instantly be used to create the compile data structure required to implement static_extents. Another advantage of using MP11 would be that new contributors can read and use the MP11 to modify or change the behaviour of static_extents and hence less learning curve to new contributors. The most important advantage would be that We will be maintaining only the things relevant to our ublas library and let MP11 handle the compile-time data structure and its associated algorithm. One caveat would be that we will now depend directly on another Boost Library which increases the compile time for ublas.
I 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 resources to carrying out our work nicely from our homes.
- Project Proposal
- Milestones and Tasks
- Implementation
- cpp20
- github-actions
- features/tidy
- features/format
- features/cmake
- Documentation
- Pull Requests
- Future Work