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 = {};