[mlir][NVGPU][transform] Add `create_async_groups` transform op
authorMatthias Springer <me@m-sp.org>
Tue, 18 Jul 2023 12:13:31 +0000 (14:13 +0200)
committerMatthias Springer <me@m-sp.org>
Tue, 18 Jul 2023 12:36:41 +0000 (14:36 +0200)
commitdb393288ff9b07d2c13b2be6a61f91ba180cb601
treec9a248a91691bcd4cbfc0bacbfd8143ddd18d525
parent23dcdbfba790eb24141d0d2523aab34a2a4d1ef5
[mlir][NVGPU][transform] Add `create_async_groups` transform op

This transform looks for suitable vector transfers from global memory to shared memory and converts them to async device copies.

Differential Revision: https://reviews.llvm.org/D155569
mlir/include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.td
mlir/include/mlir/Dialect/NVGPU/Transforms/Transforms.h
mlir/include/mlir/Dialect/NVGPU/Transforms/Utils.h
mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
mlir/lib/Dialect/NVGPU/TransformOps/CMakeLists.txt
mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
mlir/lib/Dialect/NVGPU/Transforms/CMakeLists.txt
mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp [new file with mode: 0644]
mlir/lib/Dialect/NVGPU/Transforms/Utils.cpp
mlir/test/Dialect/NVGPU/transform-create-async-groups.mlir [new file with mode: 0644]
utils/bazel/llvm-project-overlay/mlir/BUILD.bazel