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