[iree-benchmark-module] support processing outputs after benchmarking (#24789) Add --enable_output_processing option to iree-benchmark-module to make it process the outputs of the last benchmark iteration executed. For example, this processing can be writing the outputs to disk. The output processing is the same as done by iree-run-module. In order to achieve this: - Move output processing from run_module.c into a new process_results.c. - Slightly change the benchmark loop in iree-benchmark-module-main.cc: - Use a output VM list passed by the caller and only create a local/temporary one if none is passed. - Move clearing of the output list from the end of the benchmark loop body to the beginning of the benchmark loop body, so that the results of the last benchmark iteartion are available at the end of the loop. - Clear the results/output list after the benchmark loop if a local list has been used. Otherwise, keep the results in the output list passed by the caller. Also change the main function of iree-benchmark-module: - Allocate an output list if output processing is enabled. - Pass the output list (if allocated) to benchmarking loop (for now only for synachonous execution of modules). - Process outputs in the output list at the end (if list is allocated). --------- Signed-off-by: Stefan Schuermans <schuermans@roofline.ai>
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.
Releases notes are published on GitHub releases.
| Package | Release status |
|---|---|
| GitHub release (stable) | |
| GitHub release (nightly) | |
iree-base-compiler | |
iree-base-runtime |
For more details on the release process, see https://iree.dev/developers/general/release-management/.
| Operating system | Build status |
|---|---|
| Linux | |
| macOS |
For the full list of workflows see https://iree.dev/developers/general/github-actions/.
See our website for more information.
Community meeting recordings: IREE YouTube channel
| Date | Title | Recording | Slides |
|---|---|---|---|
| 2025-06-10 | Data-Tiling in IREE: Achieving High Performance Through Compiler Design (AsiaLLVM) | recording | slides |
| 2025-05-17 | Introduction to GPU architecture and IREE's GPU CodeGen Pipeline | recording | slides |
| 2025-02-12 | The Long Tail of AI: SPIR-V in IREE and MLIR (Vulkanised) | recording | slides |
| 2024-10-01 | Unveiling the Inner Workings of IREE: An MLIR-Based Compiler for Diverse Hardware | recording | |
| 2021-06-09 | IREE Runtime Design Tech Talk | recording | slides |
| 2020-08-20 | IREE CodeGen (MLIR Open Design Meeting) | recording | slides |
| 2020-03-18 | Interactive HAL IR Walkthrough | recording | |
| 2020-01-31 | End-to-end MLIR Workflow in IREE (MLIR Open Design Meeting) | recording | slides |
IREE is licensed under the terms of the Apache 2.0 License with LLVM Exceptions. See LICENSE for more information.