diff --git a/projects/clr/rocclr/device/rocm/rocvirtual.cpp b/projects/clr/rocclr/device/rocm/rocvirtual.cpp index 0433435a5c..624a807d4e 100644 --- a/projects/clr/rocclr/device/rocm/rocvirtual.cpp +++ b/projects/clr/rocclr/device/rocm/rocvirtual.cpp @@ -2276,6 +2276,9 @@ void VirtualGPU::submitStreamOperation(amd::StreamOperationCommand& cmd) { amd::Coord3D size(sizeBytes); bool entire = amdMemory->isEntirelyCovered(origin, size); + // Ensure memory ordering preceding the write + dispatchBarrierPacket(kBarrierPacketAcquireHeader); + // Use GPU Blit to write bool result = blitMgr().fillBuffer(*memory, &value, sizeBytes, origin, size, entire, true); ClPrint(amd::LOG_DEBUG, amd::LOG_COPY, "Writting value: 0x%lx", value);