Skip to content

Improve Amit Work

Ashar edited this page Aug 25, 2020 · 1 revision

Introduction

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.

Improvement

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.