commit | 3c0d84b21d2b91e954561f3d4e3e83663ded3f47 | [log] [tgz] |
---|---|---|
author | Ben Vanik <ben.vanik@gmail.com> | Thu Jun 09 10:03:51 2022 -0700 |
committer | GitHub <noreply@github.com> | Thu Jun 09 10:03:51 2022 -0700 |
tree | 22e86964b94049e3e62657bcb155656d6ebbeae0 | |
parent | 7ca0f46fc38c7d5ccb7ee275db59ed7d992436ef [diff] |
Adding iree_hal_driver_create_device_by_path & co. (#9413) This adds the plumbing for creating devices by path specs in addition to creating them by driver-specific IDs. A helper was also added to create by ordinal to simplify tools that want to expose devices in a canonical form with other driver-specific tools. The creation methods also gain the ability to pass in key-value pair parameters. Drivers can now use these parameters to refine device selection and configure the devices during creation. The entire driver layer is optional so the extra string handling here is only in cases that desire it, and for devices that have no properties (like local-sync) it doesn't add a cost. A helper that parses a canonical device URI into the components for create_device_by_path was added as iree_hal_driver_create_device_by_uri and should be used by most hosting applications. For tooling and other one-shot situations an even more convienient iree_hal_create_device is added as an easy way to create devices with a massive footgun attached. This may explode when using multiple devices or recreating devices; the solution there is for the hosting application to create and cache the drivers it wants to ensure remain around. Progress on #9343.
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!
See our website for more information.
IREE is licensed under the terms of the Apache 2.0 License with LLVM Exceptions. See LICENSE for more information.