From 308b0efec31ff1542087af637bc278f13aab3f7f Mon Sep 17 00:00:00 2001
From: foreman
Date: Wed, 20 Dec 2017 17:55:46 -0500
Subject: [PATCH] P4 to Git Change 1497050 by gandryey@gera-w8 on 2017/12/20
17:43:56
SWDEV-140410 - [CQE OCL][PAL][Vega10] Observed ~ 12 - 91 % performance drop while running OpenCL version SHOC - BusSpeedReadback
- Switch FlushDMA() to a Barrier() call for SDMA synchronization.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#42 edit
[ROCm/clr commit: 4c27bfe6417f64121a0f5ae6d0746ebcdf71b675]
---
projects/clr/rocclr/runtime/device/pal/palresource.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/projects/clr/rocclr/runtime/device/pal/palresource.cpp b/projects/clr/rocclr/runtime/device/pal/palresource.cpp
index c7754646b1..f8933edd1a 100644
--- a/projects/clr/rocclr/runtime/device/pal/palresource.cpp
+++ b/projects/clr/rocclr/runtime/device/pal/palresource.cpp
@@ -1264,7 +1264,8 @@ bool Resource::partialMemCopyTo(VirtualGPU& gpu, const amd::Coord3D& srcOrigin,
dstResource.wait(gpu, waitOnBusyEngine);
if (gpu.validateSdmaOverlap(*this, dstResource)) {
- gpu.flushDMA(SdmaEngine);
+ // Note: PAL should insert a NOP into the command buffer for synchronization
+ gpu.flushCUCaches();
}
Pal::ImageLayout imgLayout = {};