blob: 759f738c7d28565fbec355bb787c3d07421bcfa2 [file] [log] [blame] [view]
Lei Zhangc4cfa792020-04-08 14:55:41 -07001# IREE: Intermediate Representation Execution Environment
Ben Vanik363fa072019-09-19 10:26:25 -07002
Lei Zhangc4cfa792020-04-08 14:55:41 -07003IREE (**I**ntermediate **R**epresentation **E**xecution **E**nvironment,
Stella Laurenzof165f602021-05-22 16:38:02 -07004pronounced as "eerie") is an [MLIR](https://mlir.llvm.org/)-based end-to-end
5compiler and runtime that lowers Machine Learning (ML) models to a unified IR
6that scales up to meet the needs of the datacenter and down to satisfy the
7constraints and special considerations of mobile and edge deployments.
Scott Toddcb0727a2021-05-07 15:01:01 -07008
9See [our website](https://google.github.io/iree/) for project details, user
10guides, and instructions on building from source.
Ben Vanik363fa072019-09-19 10:26:25 -070011
Lei Zhangc4cfa792020-04-08 14:55:41 -070012#### Project Status
Ben Vanik363fa072019-09-19 10:26:25 -070013
Lei Zhangc4cfa792020-04-08 14:55:41 -070014IREE is still in its early phase. We have settled down on the overarching
15infrastructure and are actively improving various software components as well as
phoenix-meadowlarkf81eef32020-06-10 11:02:21 -070016project logistics. It is still quite far from ready for everyday use and is made
17available without any support at the moment. With that said, we welcome any kind
18of feedback on any [communication channels](#communication-channels)!
Ben Vanik363fa072019-09-19 10:26:25 -070019
Stella Laurenzo1121c5f2020-03-18 15:01:20 -070020## Communication Channels
Geoffrey Martin-Nobleec3c4a62019-12-18 14:47:42 -080021
Scott Toddcb0727a2021-05-07 15:01:01 -070022* [GitHub issues](https://github.com/google/iree/issues): Feature requests,
23 bugs, and other work tracking
24* [IREE Discord server](https://discord.gg/26P4xW4): Daily development
25 discussions with the core team and collaborators
26* [iree-discuss email list](https://groups.google.com/forum/#!forum/iree-discuss):
27 Announcements, general and low-priority discussion
Stella Laurenzo1121c5f2020-03-18 15:01:20 -070028
Lei Zhangc4cfa792020-04-08 14:55:41 -070029#### Related Project Channels
Stella Laurenzo1121c5f2020-03-18 15:01:20 -070030
31* [MLIR topic within LLVM Discourse](https://llvm.discourse.group/c/llvm-project/mlir/31):
Lei Zhangc4cfa792020-04-08 14:55:41 -070032 IREE is enabled by and heavily relies on [MLIR](https://mlir.llvm.org). IREE
33 sometimes is referred to in certain MLIR discussions. Useful if you are also
34 interested in MLIR evolution.
35
Geoffrey Martin-Noble65e115b2019-12-27 18:03:15 -080036## Build Status
37
Geoffrey Martin-Noblebd1d8a02021-06-30 17:01:14 -070038
39CI System | Build System | Platform | Architecture | Configuration / Component | Status
40:-------: | :-----------: | :--------: | :------------------: | :--------------------------: | :----:
CindyLiufd7dd282021-09-15 23:36:11 +000041Kokoro | Bazel | Linux | x86-64 | | [![kokoro status bazel/linux/x86-swiftshader/core](https://storage.googleapis.com/iree-oss-build-badges/bazel/linux/x86-swiftshader/core/main_status.svg)](https://storage.googleapis.com/iree-oss-build-badges/bazel/linux/x86-swiftshader/core/main_result.html)
Geoffrey Martin-Noblebd1d8a02021-06-30 17:01:14 -070042Kokoro | CMake & Bazel | Linux | x86-64 (swiftshader) | Integrations | [![kokoro status cmake-bazel/linux/x86-swiftshader](https://storage.googleapis.com/iree-oss-build-badges/cmake-bazel/linux/x86-swiftshader/main_status.svg)](https://storage.googleapis.com/iree-oss-build-badges/cmake-bazel/linux/x86-swiftshader/main_result.html)
43Kokoro | CMake & Bazel | Linux | x86-64 (turing) | Integrations | [![kokoro status cmake-bazel/linux/x86-turing](https://storage.googleapis.com/iree-oss-build-badges/cmake-bazel/linux/x86-turing/main_status.svg)](https://storage.googleapis.com/iree-oss-build-badges/cmake-bazel/linux/x86-turing/main_result.html)
44Kokoro | CMake | Linux | x86-64 (swiftshader) | | [![kokoro status cmake/linux/x86-swiftshader](https://storage.googleapis.com/iree-oss-build-badges/cmake/linux/x86-swiftshader/main_status.svg)](https://storage.googleapis.com/iree-oss-build-badges/cmake/linux/x86-swiftshader/main_result.html)
45Kokoro | CMake | Linux | x86-64 (swiftshader) | asan | [![kokoro status cmake/linux/x86-swiftshader-asan](https://storage.googleapis.com/iree-oss-build-badges/cmake/linux/x86-swiftshader-asan/main_status.svg)](https://storage.googleapis.com/iree-oss-build-badges/cmake/linux/x86-swiftshader-asan/main_result.html)
46Kokoro | CMake | Linux | x86-64 (turing) | | [![kokoro status cmake/linux/x86-turing](https://storage.googleapis.com/iree-oss-build-badges/cmake/linux/x86-turing/main_status.svg)](https://storage.googleapis.com/iree-oss-build-badges/cmake/linux/x86-turing/main_result.html)
47Kokoro | CMake | Android | arm64-v8a | Runtime (build only) | [![kokoro status cmake/android/arm64-v8a](https://storage.googleapis.com/iree-oss-build-badges/cmake/android/arm64-v8a/main_status.svg)](https://storage.googleapis.com/iree-oss-build-badges/cmake/android/arm64-v8a/main_result.html)
48Kokoro | CMake | Bare Metal | risc-v-32 | Runtime | [![kokoro status cmake/baremetal/riscv32](https://storage.googleapis.com/iree-oss-build-badges/cmake/baremetal/riscv32/main_status.svg)](https://storage.googleapis.com/iree-oss-build-badges/cmake/baremetal/riscv32/main_result.html)
CindyLiuc163d2d2021-07-13 18:22:33 -070049Kokoro | CMake | Linux | risc-v-64 | Runtime | [![kokoro status cmake/linux/riscv64](https://storage.googleapis.com/iree-oss-build-badges/cmake/linux/riscv64/main_status.svg)](https://storage.googleapis.com/iree-oss-build-badges/cmake/linux/riscv64/main_result.html)
Geoffrey Martin-Noblebd1d8a02021-06-30 17:01:14 -070050Buildkite | CMake | Android | arm64-v8a | Runtime | [![buildkite status iree-android-arm64-v8a](https://badge.buildkite.com/a73df0ba9f4aa132650dd6676bc1e6c20d3d99ed6b24db2179.svg?branch=main)](https://buildkite.com/iree/iree-android-arm64-v8a)
Geoffrey Martin-Noblebd1d8a02021-06-30 17:01:14 -070051BuildKite | CMake | Android | arm64-v8a | Runtime Benchmarks | [![buildkite status iree-benchmark](https://badge.buildkite.com/62e504b93171f4a19e5c46f8b9a99eb5dba050666640fbc21b.svg?branch=main)](https://buildkite.com/iree/iree-benchmark)
52BuildKite | CMake | Linux | x86-64 | Tracing + Standalone Runtime | [![buildkite status iree-build-configurations](https://badge.buildkite.com/3bc03ad54a6b785b3fdd0dd3d67fd93ed22ef2b538cb34adc3.svg?branch=main)](https://buildkite.com/iree/iree-build-configurations)
53
Ben Vanik15cee8f2021-09-15 11:31:59 -070054## Architecture Overview
55
56![IREE Architecture](docs/website/docs/assets/images/iree_architecture.svg)
57
58See [our website](https://google.github.io/iree/) for more information.
Geoffrey Martin-Noble65e115b2019-12-27 18:03:15 -080059
Scott Toddcb0727a2021-05-07 15:01:01 -070060## Presentations and Talks
61
Julian Walker4d1a1942021-12-10 14:13:50 -080062* 2021-06-09: IREE Runtime Design Tech Talk ([recording](https://drive.google.com/file/d/1p0DcysaIg8rC7ErKYEgutQkOJGPFCU3s/view) and [slides](https://drive.google.com/file/d/1ikgOdZxnMz1ExqwrAiuTY9exbe3yMWbB/view?usp=sharing))
Scott Toddcb0727a2021-05-07 15:01:01 -070063* 2020-08-20: IREE CodeGen: MLIR Open Design Meeting Presentation
64 ([recording](https://drive.google.com/file/d/1325zKXnNIXGw3cdWrDWJ1-bp952wvC6W/view?usp=sharing)
65 and
66 [slides](https://docs.google.com/presentation/d/1NetHjKAOYg49KixY5tELqFp6Zr2v8_ujGzWZ_3xvqC8/edit))
67* 2020-03-18: Interactive HAL IR Walkthrough
68 ([recording](https://drive.google.com/file/d/1_sWDgAPDfrGQZdxAapSA90AD1jVfhp-f/view?usp=sharing))
69* 2020-01-31: End-to-end MLIR Workflow in IREE: MLIR Open Design Meeting Presentation
70 ([recording](https://drive.google.com/open?id=1os9FaPodPI59uj7JJI3aXnTzkuttuVkR)
71 and
72 [slides](https://drive.google.com/open?id=1RCQ4ZPQFK9cVgu3IH1e5xbrBcqy7d_cEZ578j84OvYI))
73
Ben Vanik363fa072019-09-19 10:26:25 -070074## License
75
Geoffrey Martin-Noble552d3f82021-05-25 17:56:09 -070076IREE is licensed under the terms of the Apache 2.0 License with LLVM Exceptions.
77See [LICENSE](LICENSE) for more information.