Comments (4)
Thanks, I see the problem now.
from taco.
Can you share the link of the web interface that led to the error (it includes the schedules and formats). Trying it myself, it looks like this particular case works.
from taco.
@rohany I believe this is what you are looking for?
http://tensor-compiler.org/codegen.html?expr=A(i,j,k)%20=%20B(i,j,l)%20*%20C(k,%20l)&format=A:sss:0,1,2;B:sss:0,1,2;C:ds:1,0
If you take a look at the generated assembly code:
if (pA3_begin < kA) {
if (A2_crd_size <= jA) {
A2_crd = (int32_t*)realloc(A2_crd, sizeof(int32_t) * (A2_crd_size * 2));
A2_crd_size *= 2;
}
A2_crd[jA] = j;
jA++;
}
The variable pA3_begin
is not defined.
from taco.
This seems to be caused by the fact that the expression scatters into the result, which is not directly supported when the output format is sparse. By (manually) introducing a workspace, you can avoid scattering into the sparse output, which I believe should resolve the issue: http://tensor-compiler.org/codegen.html?expr=A(i,j,k)%20=%20B(i,j,l)%20*%20C(k,%20l)&format=A:sss:0,1,2;B:sss:0,1,2;C:ds:1,0&sched=precompute:B(i,j,l)%20*%20C(k,l):k:k
A longer-term fix for bugs like this though would probably require some sort of mechanism that detects scatters into sparse outputs and that automatically inserts workspaces to eliminate the scatter.
from taco.
Related Issues (20)
- Serialization Support HOT 2
- Release of taco and availability of PyPi HOT 1
- Uncaught exception when fusing sparse dimensions HOT 4
- qcd.mul1 fails on Apple M1 HOT 2
- Convert raw pointer to 2nd order tensor HOT 1
- How to generate cuda kernel with python bindings? HOT 3
- Taco Grammar HOT 3
- Failed tests on format conversion HOT 3
- Add taco as 3rd party lib by CMake FetchContent_Declare HOT 1
- Is TACO capable of doing caculation with extra itervar? HOT 2
- Can every index be sparse? HOT 8
- pytaco.tensor_sum() gives a wrong answer
- Reshape HOT 1
- Complex number realization for the python interface HOT 1
- tests fail on macOS ppc/ppc64; on 10.6.8 x86_64 two tests fail HOT 15
- Is it possible to generate OpenCL kernels with TACO? HOT 6
- Memory leak with `pytaco`
- Failure due to CUDA errors when generating code for CPU?
- Online tool cannot connect to server
- convolution HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from taco.