Skip to content
main
Switch branches/tags
Code

Latest commit

…6030)

* Introduce `input_type` to specify input pipeline and re-organize the
input phase to be self contained.

* This includes a large amount of fiddling with test flags now that we
default to no input legalization.
* Eliminates all of the v0 shape propagation logic, with the exception
of some expansions happening at func boundaries (which should be
reworked but isn't invasive like the rest of it is).
* Creates a dedicated MHLO integrations/tensorflow input pipeline which
encapsulates some of the weird that goes beyond just MHLO ops (i.e.
deals with things that come from an XLA input, which the core compiler
does not touch).
* Fully legalizes both TF and XLA at the import level, allowing the core
compiler to be invoked with no input pipeline.
* Introduces hard checks on the core compiler boundary to emit useful
errors when input dialects have not been previously legalized away.
* Switches to the CHLO direct broadcast lowerings, which allow us to
directly handle the vast majority of dynamic shapes without involving
the shape/shapex dialect.

* Disable atanh test on vulkan. See #6076
* Disable tosa pad test on vulkan. See #6077
* Add flag to manual riscv test.
804266f

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time

IREE: Intermediate Representation Execution Environment

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.

Project Status

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!

Communication Channels

Related Project Channels

  • MLIR topic within LLVM Discourse: IREE is enabled by and heavily relies on MLIR. IREE sometimes is referred to in certain MLIR discussions. Useful if you are also interested in MLIR evolution.

Build Status

CI System Build System Platform Architecture Component Status
Kokoro Bazel Linux x86 Core kokoro_status_bazel_linux_x86_core
Kokoro CMake & Bazel Linux x86-swiftshader Integrations kokoro_status_cmake-bazel_linux_x86-swiftshader_integrations
Kokoro CMake & Bazel Linux x86-turing Integrations kokoro_status_cmake-bazel_linux_x86-turing_integrations
Kokoro CMake Linux x86-swiftshader Core + Bindings kokoro_status_cmake_linux_x86-swiftshader
Kokoro CMake Linux x86-swiftshader-asan Core + Bindings kokoro_status_cmake_linux_x86-swiftshader-asan
Kokoro CMake Linux x86-turing Core + Bindings kokoro_status_cmake_linux_x86-turing
Kokoro CMake Android arm64-v8a Runtime (build only) kokoro_status_cmake_android_arm64-v8a
BuildKite CMake Android arm64-v8a Runtime buildkite-status-cmake-android-arm

Presentations and Talks

  • 2020-08-20: IREE CodeGen: MLIR Open Design Meeting Presentation (recording and slides)
  • 2020-03-18: Interactive HAL IR Walkthrough (recording)
  • 2020-01-31: End-to-end MLIR Workflow in IREE: MLIR Open Design Meeting Presentation (recording and slides)

License

IREE is licensed under the terms of the Apache 2.0 License with LLVM Exceptions. See LICENSE for more information.