facebookresearch / TensorComprehensions

A domain specific language to express machine learning workloads.
https://facebookresearch.github.io/TensorComprehensions/
Apache License 2.0
1.76k stars 211 forks source link

an IRBuilder interface for TensorComprehensions? #627

Open bollu opened 4 years ago

bollu commented 4 years ago

I'm trying to programatically generate array based code (like one uses LLVM to codegen to assembly). I was hoping to find some sort of LLVM's IRBuilder like abstraction, but couldn't find any such thing. Having to generate a textual format that will eventually get re-parsed by TensorComprehensions is both needless and painful :)

Is there an (internal, unstable) API to hand the library an AST of the computation I would want to perform? I don't even mind passing in an ISL schedule tree if that's the representation level that's accepted.

Thanks!

ftynse commented 4 years ago

TC was never intended as an IR so there's no IRBuilder. At some point in the pipeline, there is a Halide-based representation that should be possible to construct programmatically. Look around Lang to Halide conversions.

On Fri, Nov 29, 2019, 23:07 Siddharth notifications@github.com wrote:

I'm trying to programatically generate array based code (like one uses LLVM to codegen to assembly). I was hoping to find some sort of LLVM's IRBuilder like abstraction, but couldn't find any such thing. Having to generate a textual format that will eventually get re-parsed by TensorComprehensions is both needless and painful :)

Is there an (internal, unstable) API to hand the library an AST of the computation I would want to perform? I don't even mind passing in an ISL schedule tree if that's the representation level that's accepted.

Thanks!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/facebookresearch/TensorComprehensions/issues/627?email_source=notifications&email_token=AALRG2YUFNE33X2PIBM733LQWGHCFA5CNFSM4JTDV7B2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H46X3BQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALRG24QGEKD6UCFRPCENUDQWGHCFANCNFSM4JTDV7BQ .