Download Latest Version Release v3.12.0 source code.zip (18.9 MB) Google Add to Preferred Sources
Home / v3.12.0
Name Modified Size InfoDownloads / Week
Parent folder
iree-dist-3.12.0rc20260917-linux-x86_64.tar.xz 2026-10-05 80.5 MB
iree_tools_tf-20260917.1752-py3-none-any.whl 2026-10-05 32.6 kB
iree_tools_tflite-20260917.1752-py3-none-any.whl 2026-10-05 3.6 kB
iree_base_runtime-3.12.0-cp313-cp313t-manylinux_2_28_x86_64.whl 2026-10-05 15.3 MB
iree_base_runtime-3.12.0-cp312-abi3-win_amd64.whl 2026-10-05 12.9 MB
iree_base_runtime-3.12.0-cp312-abi3-manylinux_2_28_x86_64.whl 2026-10-05 15.3 MB
iree_base_runtime-3.12.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl 2026-10-05 15.9 MB
iree_base_runtime-3.12.0-cp312-abi3-macosx_13_0_universal2.whl 2026-10-05 8.1 MB
iree_base_runtime-3.12.0-cp311-cp311-win_amd64.whl 2026-10-05 12.9 MB
iree_base_runtime-3.12.0-cp311-cp311-manylinux_2_28_x86_64.whl 2026-10-05 15.3 MB
iree_base_runtime-3.12.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl 2026-10-05 15.9 MB
iree_base_runtime-3.12.0-cp311-cp311-macosx_13_0_universal2.whl 2026-10-05 8.1 MB
iree_base_runtime-3.12.0-cp310-cp310-manylinux_2_28_x86_64.whl 2026-10-05 15.3 MB
iree_base_runtime-3.12.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl 2026-10-05 15.9 MB
iree_base_compiler-3.12.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl 2026-10-05 89.0 MB
iree_base_compiler-3.12.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl 2026-10-05 89.6 MB
iree_base_compiler-3.12.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl 2026-10-05 89.0 MB
iree_base_compiler-3.12.0-cp312-abi3-win_amd64.whl 2026-10-05 63.9 MB
iree_base_compiler-3.12.0-cp312-abi3-macosx_13_0_universal2.whl 2026-10-05 75.6 MB
iree_base_compiler-3.12.0-cp311-cp311-win_amd64.whl 2026-10-05 63.9 MB
iree_base_compiler-3.12.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl 2026-10-05 89.5 MB
iree_base_compiler-3.12.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl 2026-10-05 88.9 MB
iree_base_compiler-3.12.0-cp311-cp311-macosx_13_0_universal2.whl 2026-10-05 75.6 MB
iree_base_compiler-3.12.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl 2026-10-05 89.5 MB
iree_base_compiler-3.12.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl 2026-10-05 88.9 MB
README.md 2026-09-16 15.9 kB
Release v3.12.0 source code.tar.gz 2026-09-16 14.3 MB
Release v3.12.0 source code.zip 2026-09-16 18.9 MB
Totals: 28 Items   1.2 GB 1

IREE v3.12.0 Release Notes

Release Candidate: iree-3.12.0rc20260917 Commits: ~720 PRs since v3.11.0 VMFB Bytecode Version: 17.0 (unchanged from v3.11.0), but The HAL module is now version 0.7, so previous VMFBs are incompatible.

Breaking changes

  • Recompile your VMFBs. The HAL module is now version 0.7. Modules compiled with 3.11 or earlier will not load with the 3.12 runtime. https://github.com/iree-org/iree/pull/24507
  • The HAL semaphore system was replaced. The HAL C API was changed. Each HAL semaphore is a wrapper around a shared iree_async_semaphore_t, driven by the async proactor.
  • iree_hal_semaphore_signal() and iree_hal_semaphore_list_signal() take a new const iree_async_frontier_t* argument frontier; pass NULL if you don't need it.
  • The semaphore wait functions take iree_async_wait_flags_t instead of iree_hal_wait_flags_t, and iree_hal_wait_mode_t is now iree_async_wait_mode_t.
  • iree_wait_primitive_t is now iree_async_primitive_t, so the external timepoint type WAIT_PRIMITIVE is now ASYNC_PRIMITIVE. iree_wait_source_ctl_fn_t is now iree_wait_source_resolve_fn_t.
  • iree/base/wait_handle.h, iree/base/event_pool.h and iree/hal/utils/semaphore_base.h were removed.
  • Out-of-tree HAL drivers must embed iree_async_semaphore_t.

https://github.com/iree-org/iree/pull/23695, https://github.com/iree-org/iree/pull/23804

  • Other HAL C API changes:
  • All iree_hal_driver_create_device* functions take iree_hal_device_create_params_t, which has a required proactor_pool.
  • iree/base/loop.h and iree_loop_* moved to iree/vm/loop.h and iree_vm_loop_*.
  • create_executable_cache no longer takes a loop argument.
  • iree_hal_device_queue_alloca takes an iree_hal_pool_t* (NULL for the default pool) instead of a pool bitmask.
  • iree_hal_executable_export_* replaced with iree_hal_executable_function_*.

https://github.com/iree-org/iree/pull/23695, https://github.com/iree-org/iree/pull/24236, https://github.com/iree-org/iree/pull/24507

  • The Vulkan driver was rewritten and now requires Vulkan 1.3 with timelineSemaphore, scalarBlockLayout and synchronization2. Older Vulkan stacks are no longer enumerated. Runtime flag defaults changed:
  • --vulkan_sparse_binding and --vulkan_sparse_residency now default to false (due to bug reports)

https://github.com/iree-org/iree/pull/24459, https://github.com/iree-org/iree/pull/24738

  • Device profiling flags were replaced.
  • --device_profiling_file becomes --device_profiling_output=<file>.ireeprof.
  • --device_profiling_mode now takes a comma-separated list of data families, e.g. queue-events,dispatch-events, instead of queue|dispatch|executable.
  • RenderDoc/Metal captures move to --device_capture_tool/_file/_label.
  • In Python, HalDevice.begin_profiling() no longer takes a file path; use begin_external_capture() instead.

https://github.com/iree-org/iree/pull/24240

Notable changes

Compiler

Runtime

Developer tools

New contributors

Full changelog

Commit history: https://github.com/iree-org/iree/compare/v3.11.0...v3.12.0

Release notes were AI-generated and edited.

Source: README.md, updated 2026-09-16