commit | 135e34fc531ea191077e35138ebdea3fdedb81e0 | [log] [tgz] |
---|---|---|
author | Ben Vanik <ben.vanik@gmail.com> | Thu Feb 22 10:46:19 2024 -0800 |
committer | GitHub <noreply@github.com> | Thu Feb 22 10:46:19 2024 -0800 |
tree | 11ba15ec7139a65ec8c6b9bbfee42f69d170cf9b | |
parent | 5572254928ff4f50c71494336e9080c96fa8fca0 [diff] |
Moving MaterializeInterfaces' spooky action at a distance around a little. (#16521) The magic `hal.interface.bindings` attribute that allows for `stream.cmd.dispatch` alignment with HAL interfaces during conversion is now moved to the export ops instead of being added on the dispatches. This allows each variant to have its own binding mapping and thus its own pipeline layout in subsequent steps. We still generate the same mapping for everything today but externally-provided executables are now allowed to differ and in the future target backends can specify their own. This will also allow us to potentially perform pruning/linking prior to conversion for cases where some variants are only dispatched on certain devices and we want to optimize layouts to reduce the number of layout changes during execution. Future changes rework this code even more to reduce the number of full-module walks we perform and allow for scoped device targets.
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.