commit | 4e48c132c17ac3a48bdc5ac6cf5592f43aea4b61 | [log] [tgz] |
---|---|---|
author | Ben Vanik <ben.vanik@gmail.com> | Wed Jun 07 22:08:50 2023 -0700 |
committer | GitHub <noreply@github.com> | Wed Jun 07 22:08:50 2023 -0700 |
tree | 72177bda2c40db5c7eb543133b8b728405b002da | |
parent | 129974205665cad36f89dc6454e3cbcd52765828 [diff] |
Moving builtins lower in the pipeline and adding option to force. (#13994) By moving it after partitioning we can use the resource config local to the partitioned execution region where the ops live to make decisions. We also are able to preserve the semantics of the ops through partitioning/placement such as whether splats should be rematerialized. To work around the CUDA issue in #13984 a global flag was added to force all splats/fills into builtins that must be passed when graphs are used at runtime. I was hoping this would make it easier to support `complex<f64>` as well but that doesn't quite fit due to the lack of an `i128` in MLIR. One day. May need to move the canonicalizeFillPattern doing the integer conversion down into MaterializeBuiltins but that would mean removing the verifier on AsyncSplatOp/AsyncFillOp that the type is actually supported and spreads encoding across stages of the pipeline. Still may be worth it for readability but we can re-evaluate when we have a need for `complex<f64>`.
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.