sparse icon indicating copy to clipboard operation
sparse copied to clipboard

Evaluation of TACO compiler

Open hameerabbasi opened this issue 6 years ago • 6 comments

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 avatar Nov 06 '19 14:11 hameerabbasi

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

daletovar avatar Nov 06 '19 23:11 daletovar

Is TACO similar to opt_einsum?

dhirschfeld avatar Nov 07 '19 00:11 dhirschfeld

@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.

hameerabbasi avatar Nov 07 '19 10:11 hameerabbasi

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

dhirschfeld avatar Nov 07 '19 11:11 dhirschfeld

@daletovar I think pybind11 is the better choice here.

hameerabbasi avatar Nov 07 '19 11:11 hameerabbasi

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.

hameerabbasi avatar Feb 07 '20 18:02 hameerabbasi