From 862f54db3e7cbb2fbd1ed16748f54ac9f1bd205e Mon Sep 17 00:00:00 2001 From: foreman Date: Tue, 6 Sep 2016 17:00:06 -0400 Subject: [PATCH] P4 to Git Change 1311385 by gandryey@gera-w8 on 2016/09/06 16:51:05 SWDEV-101448 - [CQE OCL][Brahma][PERF][QR] ~21% perf drop is observed with lulesh-cl subtest of ComputeApps tests : Faulty CL # 1306133 - Use the logic for transfer size before CL#1306133 Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#124 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#10 edit [ROCm/clr commit: b750057405bd21d7e9c0835d5032952a897a7a79] --- projects/clr/rocclr/runtime/device/gpu/gpublit.cpp | 10 ++-------- projects/clr/rocclr/runtime/device/pal/palblit.cpp | 10 ++-------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp b/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp index fb9277a15b..20fe38cf11 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp @@ -57,14 +57,11 @@ DmaBlitManager::readMemoryStaged( if (dev().xferRead().bufSize() < 128 * Ki) { chunkSize = dev().xferRead().bufSize(); } - else if (xferSize > 256 * Ki) { + else { chunkSize = std::min(amd::alignUp(xferSize / 4, 256), dev().xferRead().bufSize()); chunkSize = std::max(chunkSize, 128 * Ki); } - else { - chunkSize = xferSize; - } // Find the partial transfer size tmpSize = std::min(chunkSize, xferSize); @@ -327,14 +324,11 @@ DmaBlitManager::writeMemoryStaged( if (dev().xferRead().bufSize() < 128 * Ki) { chunkSize = dev().xferWrite().bufSize(); } - else if (xferSize > 256 * Ki) { + else { chunkSize = std::min(amd::alignUp(xferSize / 4, 256), dev().xferWrite().bufSize()); chunkSize = std::max(chunkSize, 128 * Ki); } - else { - chunkSize = xferSize; - } while (xferSize != 0) { // Find the partial transfer size diff --git a/projects/clr/rocclr/runtime/device/pal/palblit.cpp b/projects/clr/rocclr/runtime/device/pal/palblit.cpp index a9925d93c8..0e67f8117c 100644 --- a/projects/clr/rocclr/runtime/device/pal/palblit.cpp +++ b/projects/clr/rocclr/runtime/device/pal/palblit.cpp @@ -56,14 +56,11 @@ DmaBlitManager::readMemoryStaged( if (dev().xferRead().bufSize() < 128 * Ki) { chunkSize = dev().xferRead().bufSize(); } - else if (xferSize > 256 * Ki) { + else { chunkSize = std::min(amd::alignUp(xferSize / 4, 256), dev().xferRead().bufSize()); chunkSize = std::max(chunkSize, 128 * Ki); } - else { - chunkSize = xferSize; - } // Find the partial transfer size tmpSize = std::min(chunkSize, xferSize); @@ -325,14 +322,11 @@ DmaBlitManager::writeMemoryStaged( if (dev().xferRead().bufSize() < 128 * Ki) { chunkSize = dev().xferWrite().bufSize(); } - else if (xferSize > 256 * Ki) { + else { chunkSize = std::min(amd::alignUp(xferSize / 4, 256), dev().xferWrite().bufSize()); chunkSize = std::max(chunkSize, 128 * Ki); } - else { - chunkSize = xferSize; - } while (xferSize != 0) { // Find the partial transfer size