Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge main -> google #5520

Merged
merged 22 commits into from
Apr 19, 2021
Merged

Conversation

GMNGeoffrey
Copy link
Contributor

ScottTodd and others added 22 commits April 17, 2021 10:59
This allows allocators to differentiate between whether it can allocate
a new buffer of a specified type and whether it can import/reuse one from
the system. Future handle-based import/export APIs will use this.
This enables us to know the source of a byte buffer without trusting
modules about its lifetime guarantees. A byte buffer that has a lifetime
of the entire module can safely be aliased as by construction it will
outlive any use from the module while allocated or external buffers
may not have the same guarantees.
)

We have a proper flow to vectorize element wise ops after tiling, and it
is not used in old pipeline. We can delete the pass and the option.

The registration of `createVectorizeLinalgConvPass` was missing. The
PR also adds it to init_conversions.h.
…ents

Small improvements to enable buffer aliasing/importing.
…org#5512)

Halves the allocation count for buffers, keeps the handle and storage memory close by to hopefully get some caching benefits on initial use, and reduces the noise in allocation traces.
It now lives on the shards themselves as their lifetime is much shorter
than the dispatch (which may be recorded into a command buffer much
earlier).
They are easy to recompute and this helps keep the command
buffer size smaller.
Also delete unnecessary flags in iree/test/e2e and iree/compiler/Dialect/HAL/Target/LLVM/test/smoketest.mlir

Part of iree-org#5442
If the ranks mismatch, we can `return false` ealier. It would cause
crash when the rank of lhs is greater than the rnak of rhs.
…tic (iree-org#5516)

Currently, the mhlo.pad will be lowered to linalg.pad_tensor and then
lowered to `linalg.init_tensor + linalg.fill + subtensor_insert`. The
init_tensor op will produce a dynamic shape even if the shape is static.
This leads a `tensor.cast` op added and relies on further patterns to
fix them. This is not needed to static shape and will hit some issues
related to iree-org#5385.
Small tweaks to reduce the total size of `iree_hal_dispatch_cmd_t`.
This avoids the duplication of _with_deadline/_with_timeout throughout the
HAL.

This change does not try to optimize any of the use-sites. Some of the
Vulkan methods are going rel->abs->rel (and were before, but now it's
clear and easy to fix).
This misuse was causing a 16 byte copy to take 7ms o_o
…wait

Cleaning up HAL timeouts and tunneling iree_hal_device_submit_and_wait through the stack.
@google-cla google-cla bot added the cla: yes label Apr 19, 2021
@copybara-service copybara-service bot merged commit 0adee0f into iree-org:google Apr 19, 2021
GMNGeoffrey added a commit that referenced this pull request Apr 19, 2021
* 0adee0f Merge pull request #5520 from GMNGeoffrey:main-to-google
* e302cb3 Synchronize submodules with LLVM at llvm/llvm-project@80e166f81abd
* 6c94570 Integrate LLVM at llvm/llvm-project@80e166f81abd
* ce364ae Integrate LLVM at llvm/llvm-project@517c3aee4de5
* 32792f7 Merge pull request #5500 from rsuderman:main-to-google
This was referenced Apr 20, 2021
GMNGeoffrey added a commit that referenced this pull request Apr 22, 2021
* 97a7c8e Synchronize submodules with LLVM at llvm/llvm-project@2f69975683f5
* 3c09f24 Integrate LLVM at llvm/llvm-project@2f69975683f5
* 44d1063 Merge pull request #5551 from GMNGeoffrey:main-to-google
* 1243070 Integrate LLVM at llvm/llvm-project@1a3f88658a02
* 361e47b Integrate LLVM at llvm/llvm-project@4bb60c285cb3
* eaeb09d Integrate LLVM at llvm/llvm-project@9430efa18b02
* dc0af0c Synchronize submodules with LLVM at llvm/llvm-project@e0adf7e06a9e
* 678b1e1 Integrate LLVM at llvm/llvm-project@e0adf7e06a9e
* 98cf087 Integrate LLVM at llvm/llvm-project@01ace074fcb6
* 307cef0 Integrate LLVM at llvm/llvm-project@aa80ea8a617b
* 297f730 Integrate LLVM at llvm/llvm-project@fb69b92c7b33
* 5f1f4fe Integrate LLVM at llvm/llvm-project@f549176ad976
* bda62f0 Merge main -> google
* 0adee0f Merge pull request #5520 from GMNGeoffrey:main-to-google
* e302cb3 Synchronize submodules with LLVM at llvm/llvm-project@80e166f81abd
* 6c94570 Integrate LLVM at llvm/llvm-project@80e166f81abd
* ce364ae Integrate LLVM at llvm/llvm-project@517c3aee4de5
* 32792f7 Merge pull request #5500 from rsuderman:main-to-google
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants