Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tensor storage format abstraction #1392

Merged
merged 6 commits into from Oct 26, 2023
Merged

Conversation

JanKleine
Copy link
Collaborator

Format abstraction is based on [https://doi.org/10.1145/3276493].

It adds a new Tensor data descriptor as subclass of Structure, which
automatically has the necessary fields for the relevant indices.

The following index types are currently supported:

  • Dense
  • Compressed (stores coordinates in segmented array akin to CSR)
  • Singelton (stores one coordinate for every parent coordinate; used in COO)
  • Range (computes coordinates based in current and parent dimension sizes + offset from parent)
  • Offset (computes coordinates based on offset from parent coordinate)

@tbennun
Copy link
Collaborator

tbennun commented Oct 17, 2023

@JanKleine It looks nice. Since there is a lot of class infrastructure and code being added in this PR, I'd consider adding it to a new file (maybe dace.data as a folder).

Minor notes: there are some occurrences of sefl instead of self and Singelton should be spelled Singleton

@JanKleine
Copy link
Collaborator Author

Since there is a lot of class infrastructure and code being added in this PR, I'd consider adding it to a new file (maybe dace.data as a folder).

I tried to do that but circular dependencies seem to be a pain. Philipp also didn't know how to fix those easily. Do you (@tbennun) know if there is an easy way to do it? Otherwise I would postpone this to a different PR.

Copy link
Collaborator

@phschaad phschaad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you for including the good doc comments and tests!

@phschaad phschaad merged commit 0f731d6 into spcl:master Oct 26, 2023
9 checks passed
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.

None yet

3 participants