commit | fa3a144967a574ba59a3367e9d9ac710d16c562f | [log] [tgz] |
---|---|---|
author | Ben Vanik <ben.vanik@gmail.com> | Mon Nov 04 19:55:16 2024 -0800 |
committer | GitHub <noreply@github.com> | Mon Nov 04 19:55:16 2024 -0800 |
tree | d03c50f85b2fb3ed4bf373403de02e664f295b92 | |
parent | 2b1a8e7679fe0c7a9fcd076eb1c16b9d76cfc24b [diff] | |
parent | 1e1a6e34df092aea86bfd2dc4585b9748dbd8b14 [diff] |
Adding iree_hal_device_queue_update and improving queue DMA operations. (#19000) As with all queue DMA operations it's best if things are batched into command buffers but it's bad to have a command buffer with a single DMA operation - this completes the set of fill/update/copy operations at the queue level to match the command buffer DMA operations. Practically this is useful when combined with reusable/indirect command buffers for uploading new parameters in queue order prior to issuing a command buffer that references them. The compiler will use this to turn push constants into uniform buffers. An emulated version is added but implementations are encouraged to do better... they currently don't. While updating the queue API I've added placeholder flags to all DMA operations in preparation for compiler updates that will provide them. `iree_hal_device_queue_execute` has needed simplification for awhile and that's done here to allow implementations to not need to worry with batched command buffer juggling. The unused-since-its-inception `iree_hal_command_buffer_discard_buffer` API has been renamed to `iree_hal_command_buffer_advise_buffer` ahead of compiler changes that will use it for multi-device cache management. No breaking changes to the compiler here - future PRs will update the HAL module and ops.
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.
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
Package | Release status |
---|---|
GitHub release (stable) | |
GitHub release (nightly) | |
Python iree-compiler | |
Python iree-runtime |
Host platform | Build status |
---|---|
Linux | |
macOS | |
Windows |
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
IREE is licensed under the terms of the Apache 2.0 License with LLVM Exceptions. See LICENSE for more information.