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

Blocked Tensors #59

Open
fredrikbk opened this issue Apr 26, 2017 · 0 comments
Open

Blocked Tensors #59

fredrikbk opened this issue Apr 26, 2017 · 0 comments
Labels

Comments

@fredrikbk
Copy link
Contributor

fredrikbk commented Apr 26, 2017

It would be convenient if users can construct blocked tensors with the taco TensorBaseAPI.

For linear algebra it means they can construct blocked matrices/vectors and operate on them using linear algebra, as opposed to 4-tensor operations. E.g. a = B*c instead of a(i,j) = B(i,k,j,l) * c(k,l).

For tensor algebra it means they can construct blocked tensors and operate on them with fewer indices. E.g. A(i,j) = B(i,j,k) * c(k) instead of A(i,j,k,l) = B(i,j,m,k,l,n) * c(m,n).

Underneath the hood we'll still treat everything as high-order unblocked operations. So this is a proposed frontend change that should not change the lowering machinery or backends.

We still have to let the user express the ordering she wants for the loops/unblocked index variables. That is, make such choices as stencil form a(i,j) = B(i,j,k,l) * c(k,l) vs blocked form a(i,j) = B(i,k,j,l) * c(k,l). This can probably be expressed when describing the blocking.

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

No branches or pull requests

1 participant