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 gem Sparse tensor type #255

Open
ReubenHill opened this issue Jul 29, 2021 · 2 comments
Open

Add gem Sparse tensor type #255

ReubenHill opened this issue Jul 29, 2021 · 2 comments

Comments

@ReubenHill
Copy link
Contributor

A sparse version of a gem.Literal would be very useful, e.g. for FInAT dual evaluation where the dual bases are, in general, sparse tensors.

@ReubenHill
Copy link
Contributor Author

ReubenHill commented Aug 26, 2021

An alternative would be to use libxsmm:

To quote Paul Kelly:

You give libxsmm the dense matrix (with zeroes), and it JITs a matrix multiply implementation for you for that specific matrix, which you can reuse. It does full unrolling so this only works for matrices not much bigger than 100x100

@wence-
Copy link
Contributor

wence- commented Aug 26, 2021

I think both of these probably potentially have a place. AIUI, for libxsmm to work, the dense matrix needs to exist first, which if it is very large is bad news. libxsmm doesn't really work above 100x100

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants