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]
Этот коммит содержится в:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Ссылка в новой задаче
Block a user