Comments (2)
Sorry for the delay, I only just saw this.
Luckily for you, TACO tensors are just arrays of bytes! The runtime representation of the tensor object passed to the compute kernels is described here https://github.com/tensor-compiler/taco/blob/master/include/taco/taco_tensor_t.h, which is a self-describing data structure.
The indices pointer is an array of arrays of index metadata for each level, and the values pointer is an array of values. It can be clearer to understand what these fields are if you look at an example of how the tensor data is unpacked in some generated taco code at http://tensor-compiler.org/codegen.html. While no such serialization exists in TACO right now, I doubt it would be too difficult for you write by hand on these objects.
The remaining metadata in the actual C++ Tensor
class is mostly there for book-keeping and interacting with the runtime API of TACO, which may or may not be useful for your use case, depending on how you are approaching solving this problem.
On a more meta-level, I am a student at Stanford that spent the last year or so working on extending TACO to implement distributed dense and sparse tensor computations (though using the Legion runtime system instead of Ray)! If you are interested, I'd be happy discuss our work, experiences, related projects, and to share a preprint with you. If so, please email me at [email protected].
from taco.
Hi Rohan!
That is great to hear, and thanks so much for the detailed response! We'll take another look at the source code with your recommendations in mind.
I will connect via email as well :)
from taco.
Related Issues (20)
- 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
- Scheduling Language more information. HOT 1
- Building Taco failed HOT 1
- Using IndexSetVar defined at runtime
- Output transformed C++ kernel code from the TACO C++ source code HOT 1
- Incorrect code generated when contraction index is not innermost
- kernel seg fault when processing large tensors HOT 1
- Double Occurrence of Parameters in Kernels Generated with CLI tool.
- COO sparse tensor contraction produces missing & duplicated entries
- TACO does not run parallel HOT 1
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.