Skip to content

Conversation

@ghost
Copy link

@ghost ghost commented Jul 26, 2022

No description provided.

Vladimir Dimic added 5 commits July 26, 2022 11:11
Store only Id IMFs to keep the size.
Original IMFs are already fused into the mapping polynomial.
Remove obsolete fields and make fused function static.
…inside a single AMF type in StorageBasedMatrix.

Offer the following three ways to instantiate AMFs:
* AMF belonging to an original container (that requires allocation)
* AMF as a result of a gather view using row and column IMFs
* AMF as a result of a static view (e.g. transpose, diagonal)

Other related changes:
* Implement fusion of static IMFs into the storage mapping polynomial.
* Add a type trait to extract amf_type from any type (to support invocation for original containers)

Change the definition of StorageBasedMatrix:
* Encapsulate IMFR, IMFC and polynomial in a single AMF type
* Add type traits to determine the AMF type for a given matrix static properties.
@ghost ghost requested a review from hidanielesgit July 26, 2022 15:49
Vladimir Dimic added 7 commits July 28, 2022 17:49
Since Strided IMFs can always be fused into the polynomial, this specialization will never be instantiated.
Instantiate original AMF only through factory
and disable making AMF objects outside of AMF factory
Disallow AMF copies and enforce move semantics
@ghost ghost requested a review from hidanielesgit July 29, 2022 14:33
@ghost ghost requested a review from hidanielesgit August 8, 2022 14:38
Vladimir Dimic added 2 commits August 9, 2022 16:33
Also solve inconsistent ordering of imf-type function parameters
@ghost ghost merged commit 5b15fa4 into 303-develop-reference_dense-backend Aug 9, 2022
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant