Handle page faults while accessing unified memory

Related-To: NEO-3330

Change-Id: I7e21f894e9d1c82598954c49342d1f65af07498f
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
This commit is contained in:
Jobczyk, Lukasz
2019-07-04 12:17:42 +02:00
committed by sys_ocldev
parent cf979c3bc0
commit 76fe09c2a9
46 changed files with 1320 additions and 67 deletions

View File

@@ -3407,7 +3407,7 @@ void *clHostMemAllocINTEL(
return nullptr;
}
return neoContext->getSVMAllocsManager()->createUnifiedMemoryAllocation(size, SVMAllocsManager::UnifiedMemoryProperties(InternalMemoryType::HOST_UNIFIED_MEMORY));
return neoContext->getSVMAllocsManager()->createUnifiedMemoryAllocation(size, SVMAllocsManager::UnifiedMemoryProperties(InternalMemoryType::HOST_UNIFIED_MEMORY), neoContext->getSpecialQueue());
}
void *clDeviceMemAllocINTEL(
@@ -3428,7 +3428,7 @@ void *clDeviceMemAllocINTEL(
return nullptr;
}
return neoContext->getSVMAllocsManager()->createUnifiedMemoryAllocation(size, SVMAllocsManager::UnifiedMemoryProperties(InternalMemoryType::DEVICE_UNIFIED_MEMORY));
return neoContext->getSVMAllocsManager()->createUnifiedMemoryAllocation(size, SVMAllocsManager::UnifiedMemoryProperties(InternalMemoryType::DEVICE_UNIFIED_MEMORY), neoContext->getSpecialQueue());
}
void *clSharedMemAllocINTEL(
@@ -3449,7 +3449,7 @@ void *clSharedMemAllocINTEL(
return nullptr;
}
return neoContext->getSVMAllocsManager()->createUnifiedMemoryAllocation(size, SVMAllocsManager::UnifiedMemoryProperties(InternalMemoryType::SHARED_UNIFIED_MEMORY));
return neoContext->getSVMAllocsManager()->createUnifiedMemoryAllocation(size, SVMAllocsManager::UnifiedMemoryProperties(InternalMemoryType::SHARED_UNIFIED_MEMORY), neoContext->getSpecialQueue());
}
cl_int clMemFreeINTEL(
@@ -4118,7 +4118,8 @@ cl_int CL_API_CALL clEnqueueSVMMap(cl_command_queue commandQueue,
size,
numEventsInWaitList,
eventWaitList,
event);
event,
true);
TRACING_EXIT(clEnqueueSVMMap, &retVal);
return retVal;
@@ -4155,7 +4156,8 @@ cl_int CL_API_CALL clEnqueueSVMUnmap(cl_command_queue commandQueue,
svmPtr,
numEventsInWaitList,
eventWaitList,
event);
event,
true);
TRACING_EXIT(clEnqueueSVMUnmap, &retVal);
return retVal;