P4 to Git Change 1576208 by vsytchen@vsytchen-win10 on 2018/07/04 15:36:47

SWDEV-154903 - [Vega10][PAL] clSVMAlloc is failing to create allocations greater than 2GB

	1. Uncommit coarse grain SVM from system memory when calling clEnqueueSVMUnmap

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/15336/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.cpp#133 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palmemory.cpp#22 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/memory.cpp#133 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/memory.hpp#106 edit
This commit is contained in:
foreman
2018-07-04 15:45:29 -04:00
parent 2402a28a4d
commit 0bc34b7062
4 changed files with 17 additions and 0 deletions
+8
View File
@@ -431,6 +431,14 @@ void Memory::commitSvmMemory() {
}
}
void Memory::uncommitSvmMemory() {
ScopedLock lock(lockMemoryOps_);
if (svmPtrCommited_ && !(flags_ & CL_MEM_SVM_FINE_GRAIN_BUFFER)) {
amd::Os::uncommitMemory(svmHostAddress_, size_);
svmPtrCommited_ = false;
}
}
void Buffer::initDeviceMemory() {
deviceMemories_ = reinterpret_cast<DeviceMemory*>(reinterpret_cast<char*>(this) + sizeof(Buffer));
memset(deviceMemories_, 0, context_().devices().size() * sizeof(DeviceMemory));