taco
taco copied to clipboard
The Tensor Algebra Compiler (taco) computes sparse tensor expressions on CPUs and GPUs
[The `.assemble()` scheduling directive](https://github.com/tensor-compiler/taco/blob/master/include/taco/index_notation/index_notation.h#L699-L705) was added fairly recently, it seems to control the mechanism by which values are written to sparse output tensors. This directive isn't mentioned on [the scheduling...
I see that the python bindings can apply some parallelism to the top-level loop, with `set_parallel_schedule` and `set_num_threads`. It would be useful to have access to other scheduling directives as...
Any expression that uses doubly-compressed sparse matrices pretty much does not compile. There is a variable called `_begin` that is used but not declared. Here is one example: ``` $...
Hi, I used TACO for tensor contraction following the "Library Example" shown on the official page https://github.com/tensor-compiler/taco. I found that the final results generated by TACO are incorrect. Does it...
I was trying to run the following schedule: ```sh taco "C(i0,i1,j)=A(i0,i1,p0,p1)*B(p0,p1,j)" -f="C:ddd:0,1,2" -f="A:dsdd:0,2,1,3" -f="B:ddd:0,1,2" -s="precompute(A(i0,i1,p0,p1)*B(p0,p1,j),p0,p0_cache)" ``` It ended up with an error: ``` terminate called after throwing an instance of...
The windowing stride syntax doesn't work quite right when configured with `-DCUDA=ON`. These 3 test cases fail: ``` 890 - windowing/stride.windowing/(dense,compressed) (Failed) 891 - windowing/stride.windowing/(compressed,dense) (Failed) 892 - windowing/stride.windowing/(compressed,compressed) (Failed)...
While trying to cook up a test case that does this: ```sh $ taco 'y(j) = A(i,j,k) * x(k)' -s='parallelize(j, CPUThread, Atomics)' ``` I noticed that the C++ API does...
The tensor algebra compiler supports tensor index notation. Tensor index notation can be used to do linear algebra, but for convenience we ought to have a linear algebra API as...
The following test fails during execution with a segfault: ``` TEST(workspaces, bug) { auto dim = 4; Tensor c("c", {dim}, {Dense}); Tensor expected("expected", {dim}, {Dense}); expected.insert({0}, 8); expected.insert({1}, 11); expected.insert({2},...