[all-commits] [llvm/llvm-project] 9ab346: [mlir] add a simple gpu barrier elimination mechanism
ftynse via All-commits
all-commits at lists.llvm.org
Fri Jul 7 11:52:06 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9ab34689b08ee66f0868d38456fccc8b80d1b656
https://github.com/llvm/llvm-project/commit/9ab34689b08ee66f0868d38456fccc8b80d1b656
Author: Alex Zinenko <zinenko at google.com>
Date: 2023-07-07 (Fri, 07 Jul 2023)
Changed paths:
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
M mlir/lib/Dialect/GPU/TransformOps/CMakeLists.txt
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
A mlir/test/Dialect/GPU/barrier-elimination.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] add a simple gpu barrier elimination mechanism
GPU code generation, and specifically the shared memory copy insertion
may introduce spurious barriers guarding read-after-read dependencies or
read-after-write on non-aliasing data, which degrades performance due to
unnecessary synchronization. Add a pattern and transform op that removes
such barriers by analyzing memory effects that the barrier actually
guards that are not also guarded by other barriers. The code is adapted
from the Polygeist incubator project.
Co-authored-by: William Moses <gh at wsmoses.com>
Co-authored-by: Ivan Radanov Ivanov <ivanov.i.aa at m.titech.ac.jp>
Reviewed By: nicolasvasilache, wsmoses
Differential Revision: https://reviews.llvm.org/D154720
More information about the All-commits
mailing list