Merge google -> main (#5856)

* 953a98c21 Integrate LLVM at llvm/llvm-project@b7a11274f90f
* e7f75827f Integrate LLVM at llvm/llvm-project@34c098b780a2
* 92ddee60c [TF:XLA:MLIR] Add support for tf.Mean on ranked dynamic shapes
* 619265c93 Integrate LLVM at llvm/llvm-project@6351993da72e
* 4dfa270e2 Integrate LLVM at llvm/llvm-project@23596fece043
* 82a0ec18a Integrate LLVM at llvm/llvm-project@3f8be15f2911
* 3a6332b5c Merge main -> google
* 0c79bfaa4 Integrate LLVM at llvm/llvm-project@fec294599894
* b7f613344 Synchronize submodules with LLVM at llvm/llvm-project@df47368d406a
* 9df58ec08 Integrate LLVM at llvm/llvm-project@df47368d406a
* 1f1e15cc9 Integrate LLVM at llvm/llvm-project@88a48999d249
* 9ad4c4bc0 Integrate LLVM at llvm/llvm-project@888307ee625b
* d5d6d3787 Integrate LLVM at llvm/llvm-project@1e11616a071d
* af614e13e Integrate LLVM at llvm/llvm-project@bf812ea484b7
tree: 733cfb2181dd117ec96f327e496e0ed9c15ea581
  1. .github/
  2. bindings/
  3. build_tools/
  4. colab/
  5. docs/
  6. experimental/
  7. integrations/
  8. iree/
  9. scripts/
  10. third_party/
  11. .bazelignore
  12. .bazelrc
  13. .bazelversion
  14. .clang-format
  15. .gitignore
  16. .gitmodules
  17. .style.yapf
  18. .yamllint.yml
  19. BUILD.bazel
  20. CMakeLists.txt
  21. configure_bazel.py
  22. CONTRIBUTING.md
  23. LICENSE
  24. README.md
  25. SUBMODULE_VERSIONS.txt
  26. WORKSPACE
README.md

IREE: Intermediate Representation Execution Environment

IREE (Intermediate Representation Execution Environment, pronounced as “eerie”) is an MLIR-based end-to-end compiler that lowers Machine Learning (ML) models to a unified IR optimized for real-time inference on mobile/edge devices against heterogeneous hardware accelerators. IREE also provides flexible deployment solutions for its compiled ML models.

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 SystemBuild SystemPlatformArchitectureComponentStatus
KokoroBazelLinuxx86Corekokoro_status_bazel_linux_x86_core
KokoroCMake & BazelLinuxx86-swiftshaderIntegrationskokoro_status_cmake-bazel_linux_x86-swiftshader_integrations
KokoroCMake & BazelLinuxx86-turingIntegrationskokoro_status_cmake-bazel_linux_x86-turing_integrations
KokoroCMakeLinuxx86-swiftshaderCore + Bindingskokoro_status_cmake_linux_x86-swiftshader
KokoroCMakeLinuxx86-swiftshader-asanCore + Bindingskokoro_status_cmake_linux_x86-swiftshader-asan
KokoroCMakeLinuxx86-turingCore + Bindingskokoro_status_cmake_linux_x86-turing
KokoroCMakeAndroidarm64-v8aRuntime (build only)kokoro_status_cmake_android_arm64-v8a
BuildKiteCMakeAndroidarm64-v8aRuntimebuildkite-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 license. See LICENSE for more information.