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

Multidimensional dense workspaces #475

Merged
merged 20 commits into from
Jul 1, 2021
Merged

Multidimensional dense workspaces #475

merged 20 commits into from
Jul 1, 2021

Conversation

weiya711
Copy link
Contributor

@weiya711 weiya711 commented Jun 21, 2021

  1. Add in functionality for multi-dimensional dense workspaces
  2. Also add in multi-dimensional dense workspaces for the TACO command-line tool.
  3. Fix the precompute(...) concrete index notation transformation algorithm to be similar to the one in the TACO workspaces paper.
  4. Add in ir::Stmt workspace_rewriter to allow for multi-dimensional dense workspace lowering. This rewriter rewrites the lowered ir::Stmt to replace all workspace GetProperty(..., Dimension) nodes with the correct ir::Expr corresponding to the workspace size for that mode.
  5. Add in more workspace regression tests in test/tests-workspaces.cpp

This does not break any of the GPU tests (see https://github.com/tensor-compiler/taco/actions/runs/955323370)

Note: Some *Scheduled(...) (like concretizeScheduled(), isReductionNotationScheduled(), etc.) methods in src/index_notation/index_notation.cpp are not currently being used but should be useful in the future. They were originally created for another version of the precompute(...) transformation algorithm, but are no longer needed there. I would still like to add them in to master along with this PR since there are still scenarios where the compiler needs to concretize an Einsum notation assignment with a ProvenanceGraph into its corresponding post-scheduled concrete index notation statement.

@weiya711 weiya711 requested a review from stephenchouca June 21, 2021 06:27
src/index_notation/index_notation.cpp Outdated Show resolved Hide resolved
src/index_notation/index_notation.cpp Outdated Show resolved Hide resolved
src/index_notation/index_notation.cpp Outdated Show resolved Hide resolved
src/index_notation/index_notation.cpp Outdated Show resolved Hide resolved
src/lower/lowerer_impl_imperative.cpp Outdated Show resolved Hide resolved
src/lower/lowerer_impl_imperative.cpp Outdated Show resolved Hide resolved
test/tests-scheduling-eval.cpp Outdated Show resolved Hide resolved
@weiya711 weiya711 merged commit 97edc84 into master Jul 1, 2021
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.

3 participants