Tags: dcaballe/iree
Tags
Do not fuse with elementwise operations that cant bufferize in-place. (… …iree-org#8526) Currently the backend cannot bufferize in-place dispatch regions that contain operations where the root operation like conv, etc. is fused with an elementwise operation, where in the latter the buffer for an output cannot be reused for the result of the root. Disable fusing such cases as a WAR. For now only do this for the convolution cases, more might be needed while the proper fix is worked out down stream. (Proper fix is to "vectorize always" even if the vector size is 1). Issue iree-org#8411
Account all the element types to determine vector sizes. (iree-org#8552) The assumption was that all the element types have the same bitwidth. However, there are cases that element types do not match, e.g., matmul i8xi8 -> i32. It caused issues that large tiling sizes were selected, which kicked in heavy optimization in LLVM. This commit chooses the smallest vector size over all the element types. This also updates the logic of first level tiling, which follows what we've done for generic ops. The commit reduce compilation time from hours to 5 mins for mobilebert-baseline-tf2-quant.mlir when targeting ARM. Fixes iree-org#8540
Integrate llvm-project at a54d028895c91da356a4aaf30e27a5a5b90dd313 (i… …ree-org#8536) * Reset third_party/llvm-project: a54d028895c91da356a4aaf30e27a5a5b90dd313 (2022-03-09 17:04:18 -0500): Revert "[libc++] Remove extension to support allocator<const T>" MHLO commit : f52e7dc1210dead4d3ff416696cad1c794332959 TF Commit : 58b667263ba5734ba175a7640f1a1d572e52bd3d Piper CL : 433732413 - Patch LLVM submodule to account for an upstream bug. Will be fixed by reviews.llvm.org/D121648 - Fix .body() -> .getBodyRegion() in iree-dialects. - Fix .body() to .getBodyRegion() in integrations/tensorflow. Co-authored-by: Nicolas Vasilache <[email protected]>
Move e2e matmul tests to own directory (iree-org#8520)
Move e2e matmul tests to own directory (iree-org#8520)
Move e2e matmul tests to own directory (iree-org#8520)
Move e2e matmul tests to own directory (iree-org#8520)
Fix web samples and test building them on CI. (iree-org#8482) Assorted cleanup in service of getting these experimental samples tested as part of the (post-submit, non-blocking) https://buildkite.com/iree/iree-samples pipeline: Summary of commits: * Code fixes so the targets build again * Refactor scripts to be CI-friendly (no hardcoded paths, no automatic web server that takes over the console) * Expand linker tool discovery so the `lld` we build + install can be used with `-flavor wasm` instead of requiring `wasm-ld` * Run build scripts as part of the samples pipeline Sample CI run: https://buildkite.com/iree/iree-samples/builds/268
Add support for vectorizing normal convolution ops. (iree-org#8460) This PR has slight improvements in MobileNet V3 and V2. For other cases, they may be noises. For PoseNet, there are regressions in multi-threaded. It's just a matter of configuration tuning, so it's fine at this moment. Configurations: taskset 80 + dylib-sync on local Pixel 4 | Model | Before | After | | ---------------- | ------- | ------- | | DeepLabV3 | 705 ms | 704 ms | | MobileBertSquad | 669 ms | 673 ms | | MobileNetV2 | 104 ms | 103 ms | | MobileNetV3Small | 25.4 ms | 24.7 ms | | MobileSSD | 205 ms | 201 ms | | PoseNet | 546 ms | 545 ms | Configurations: taskset f0 + dylib on local Pixel 4 | Model | Before | After | | ---------------- | ------- | ------- | | DeepLabV3 | 371 ms | 374 ms | | MobileBertSquad | 375 ms | 374 ms | | MobileNetV2 | 66.1 ms | 64.5 ms | | MobileNetV3Small | 21.4 ms | 20.9 ms | | MobileSSD | 92.7 ms | 91.2 ms | | PoseNet | 189 ms | 202 ms |
Merge pull request iree-org#8436 from google/benvanik-processor-info Adding an executable environment and plumbing through processor information.
PreviousNext