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

Lower from TC directly to a Halide Stmt #589

Open abadams opened 6 years ago

abadams commented 6 years ago

Avoid making a DAG of Halide Funcs, and instead just produce a Halide Stmt directly. Should have no observable effect on anything, other than producing slightly simpler variable names (hence the change to the test).

This change makes it possible to add new types of loops and control flow that don't fit into the Halide model currently (e.g. the RNNs in #572 ).

The downside is that it's no longer possible to play with Halide recompute vs reuse scheduling directives, or compare to Halide autoschedulers, as Halide scheduling must start from a DAG of Funcs. We can still use Halide backends if we want, and most of Halide's lowering passes would still apply if we ever want them (e.g. simplification, vectorization).

facebook-github-bot commented 5 years ago

Thank you for your pull request. We require contributors to sign our Contributor License Agreement, and yours has expired.

Before we can review or merge your code, we need you to email cla@fb.com with your details so we can update your status.