-
Notifications
You must be signed in to change notification settings - Fork 189
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
Generalizes TACO Merge lattice construction #390
Conversation
…w propagation of indexVar type to generated code
…ler/taco into array_algebra
…omputing with IndexVars when using split command. Started implementing boilerplate code for iteration space algebra
…r tensorOp nodes.
…so users can create vectors of properties which are actually a vector of pointers. This is a work around to avoid object slicing when storing properties in a vector
…ith lowering generic tensorOp. Changed spec of special definition to take an IR function.
…ttice optimizations to the end of lattice construction. Conditions to apply these optimizations still not quite right so all tests pass for now. Need to also check that no producer regions have a special definition. Lowerer also needs to be altered to handle compute regions more generally instead of just sparse. Lowerer needs to be altered to handle explicit zeros.
…ice in lowerer. Added explicit zero checks in bottom loop of compute
…ing explicit zero checks before bottommost loop. Got Masked BFS optimization working for pull bfs!
…ue inferer that only uses properties.
…sparsifying a dense result using tensor ops
…tice construction introduce in the merge. Seems to always include the dimension iterator in the merge points even when the iterators are sparse
…orVar was merged incorrectly so all formats were dense inside the lattice
…the GPU backend to be completely non-functional
… an expression. Also, prevents generation of unnecessary merge loops being created at some loop levels
… array_algebra
The slice multiple ways test fails after the most recent merge from master. If you have a chance, would you mind taking a look @rohany? It also seems that WindowedIndexVars should also inherit from IndexExpr so that they can be used in computations. |
This commit fixes a bug caused by merging together the windowing and array algebra work. In particular, the newly introduced deep equality defined on `Access` types did not include additions for the newly added components used in windowing.
I looked into it and opened a PR here rawnhenry#1. I believe that merging on your repository will cause this PR to get updated. I double checked that
The way I have this set up is that anything windowing related folds into an |
Once that PR is merged, we can set up the new branch. However, I don't have write permission here, so I wouldn't be able to make it. @stephenchouca either you can make the branch or add me and I'll make it. |
I've created a new |
lower: fix a bug introduced by merging windowing and array algebra
This PR should now be largely functional on for the TACO CPU build.
This PR attempts to generalize the lattice construction of TACO. It largely implements the concepts discussed in this Master thesis. In short, this PR adds:
Why this is still in draft (TODO in priority order. ETA mid Feb)
Fix bug from merge :(Fix segfault due to fill value with GPU backend :(Fix compiler crash when using indexVars that have been scheduled as the operands to funcsFix segfault when running GPU spmv schedule- Looks like this is the same issue as scheduling_eval.spmvGPU test failure #389, will not fixCurrent Limitations: