commit | c08362a052829f746990c8424ce0704137bcc048 | [log] [tgz] |
---|---|---|
author | Benoit Jacob <jacob.benoit.1@gmail.com> | Mon Oct 21 15:23:25 2024 -0400 |
committer | GitHub <noreply@github.com> | Mon Oct 21 15:23:25 2024 -0400 |
tree | 1a43794a6f60c145b74dec8d69237c1ec5685c73 | |
parent | 114a1427810f3da0234f98c22f58390773b0489a [diff] |
GPU target parameters for data tiling. (#18839) This replaces some constants what were hardcoded in GPUMaterializeEncoding.cpp by actual GPU target parameters. The logic in `getSwizzle` was doing wonky things with its own local `const int targetPreferredLoadBitWidth = 128;`, using it in a helper function inferring interleaving dimensions. That was all dating back to early days -- that was effectively trying to infer which inner-most dimensions to skip to get at the first non-Internal dimension... so that is one more thing that we can fix now that we have `TileSwizzle::Dim::Kind`. See `getInnermostNonInternalDimIdx`. The heuristic in `chooseDataTiledMMAAttr` becomes much more robust, and tested more extensively by `gpu_materialize_encoding.mlir`, now that we can pass arbitrary parameters in ad-hoc `#iree_gpu.target` attributes, see the test updates. It's unfortunately verbose (one screenful of MLIR code for each testcase) because each has to be a complete function with `flow.dispatch` ops, but that's a separate problem. --------- Signed-off-by: Benoit Jacob <jacob.benoit.1@gmail.com>
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.