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: b750057405]
Этот коммит содержится в:
foreman
2016-09-06 17:00:06 -04:00
родитель afebe549f0
Коммит 862f54db3e
2 изменённых файлов: 4 добавлений и 16 удалений
+2 -8
Просмотреть файл
@@ -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
+2 -8
Просмотреть файл
@@ -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