-
Notifications
You must be signed in to change notification settings - Fork 45
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
The GPUBarrierConversion is not align to the SPIRV memory model #649
Comments
The description is unclear. |
I assume the GPU barrier has the semantic of acquire-release ordering in memory too. |
The spirv barrier from reduction example has the following form : 264 is 0x108, which translated to acquire-release + workgroup scope, as defined by the spec: https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_memory_semantics_id Is that what you ask for? |
From the doc, it seems the VulKan/SPIR-V requiring the I am not sure whether the GPU barrier should follow this. |
The MLIR GPUBarrierConversion is not align to the SPIRV memory model.
https://github.com/llvm/llvm-project/blob/592199c8fe58b2b102b3ca4019d17e25f8090be4/mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp#L413
https://www.khronos.org/blog/comparing-the-vulkan-spir-v-memory-model-to-cs
Please help to double confirm whether the logic is consistent in lowering the mlir::gpu::BarrierOp to SPIRV's barrier op.
The text was updated successfully, but these errors were encountered: