commit | f45e37953995bf808718772437b2741691262390 | [log] [tgz] |
---|---|---|
author | Ben Vanik <ben.vanik@gmail.com> | Wed Dec 06 14:15:24 2023 -0800 |
committer | GitHub <noreply@github.com> | Wed Dec 06 22:15:24 2023 +0000 |
tree | 88669eb66762a75810692530d3642699d6054c65 | |
parent | 51a9225d6c0230e6e6cd4bfd7dab2a03b45cf5a5 [diff] |
Adding condition support to `hal.dispatch.extern`. (#15797) Required switching from `hal.dispatch.extern` outlining into a `flow.executable` to instead outlining into a `hal.executable` with variants. This is nice as it prevents us from needing to carry through all the information a `hal.executable` could have through flow/stream but does mean we need to support `flow.dispatch`/`stream.async.dispatch` on expanded executables with variants that may have multiple export symbols. In the common case (codegen) there's no change. It's not great this is happening in flow - future work may try to move outlining of the extern ops to the end of the global optimization pipeline (assuming that happens _after_ plugins that may insert the extern ops). There's a few refactorings in other passes we'd need to make that happen.
IREE (Intermediate Representation Execution Environment, pronounced as “eerie”) is an MLIR-based end-to-end compiler and runtime that lowers Machine Learning (ML) models to a unified IR that scales up to meet the needs of the datacenter and down to satisfy the constraints and special considerations of mobile and edge deployments.
See our website for project details, user guides, and instructions on building from source.
IREE is still in its early phase. We have settled down on the overarching infrastructure and are actively improving various software components as well as project logistics. It is still quite far from ready for everyday use and is made available without any support at the moment. With that said, we welcome any kind of feedback on any communication channels!
See our website for more information.
IREE is licensed under the terms of the Apache 2.0 License with LLVM Exceptions. See LICENSE for more information.