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

Evaluation of TACO compiler #299

Open
hameerabbasi opened this issue Nov 6, 2019 · 6 comments
Open

Evaluation of TACO compiler #299

hameerabbasi opened this issue Nov 6, 2019 · 6 comments

Comments

@hameerabbasi
Copy link
Collaborator

hameerabbasi commented Nov 6, 2019

From all the examples I can see, the TACO compiler is good for einsum-type expressions, and any that involve tensor products, contractions and sums. I've posted about it here: tensor-compiler/taco#276

@hameerabbasi hameerabbasi created this issue from a note in PyData/Sparse Project Board (To do) Nov 6, 2019
@daletovar
Copy link
Collaborator

This looks great to me. We'd be interfacing with cython?

@dhirschfeld
Copy link

Is TACO similar to opt_einsum?

@hameerabbasi
Copy link
Collaborator Author

@dhirschfeld It's much better than that: It allows for sparse arrays in many different formats to be represented. And it allows for adding two separate tensors, which is something einsum can't do. In the linked discussion, they're considering allowing arbitrary element-wise operations.

@dhirschfeld
Copy link

Thanks for the info! I was only vaguely aware of the project previously but it sounds like something I should keep an eye on...

@hameerabbasi hameerabbasi moved this from To do to In progress in PyData/Sparse Project Board Nov 7, 2019
@hameerabbasi
Copy link
Collaborator Author

@daletovar I think pybind11 is the better choice here.

@hameerabbasi
Copy link
Collaborator Author

After a thorough review of the options, I studied how the original TACO behaves. It emits C code, then calls the system compiler. I think we can probably do something similar: emit Python AST which can then be jitted with Numba.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

3 participants