[10/n] Unified Shared Memory.

- Wire in support for clDeviceMemAllocINTEL
- Wire in support for clSharedMemAllocINTEL
- Wire in support for clSetKernelArgMemPointerINTEL

Related-To: NEO-3148

Change-Id: I9e182beb6f4dda3adfc0f2f23ffd129640ebd73c
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
This commit is contained in:
Mrozek, Michal
2019-06-19 15:34:30 +02:00
committed by sys_ocldev
parent 9dfc02116a
commit 37e4bca788
3 changed files with 90 additions and 15 deletions

View File

@ -3423,9 +3423,18 @@ void *clDeviceMemAllocINTEL(
size_t size,
cl_uint alignment,
cl_int *errcodeRet) {
cl_int retVal = CL_OUT_OF_HOST_MEMORY;
*errcodeRet = retVal;
return nullptr;
Context *neoContext = nullptr;
ErrorCodeHelper err(errcodeRet, CL_SUCCESS);
auto retVal = validateObjects(WithCastToInternal(context, &neoContext));
if (retVal != CL_SUCCESS) {
err.set(retVal);
return nullptr;
}
return neoContext->getSVMAllocsManager()->createUnifiedMemoryAllocation(size, SVMAllocsManager::UnifiedMemoryProperties(InternalMemoryType::DEVICE_UNIFIED_MEMORY));
}
void *clSharedMemAllocINTEL(
@ -3435,9 +3444,18 @@ void *clSharedMemAllocINTEL(
size_t size,
cl_uint alignment,
cl_int *errcodeRet) {
cl_int retVal = CL_OUT_OF_HOST_MEMORY;
*errcodeRet = retVal;
return nullptr;
Context *neoContext = nullptr;
ErrorCodeHelper err(errcodeRet, CL_SUCCESS);
auto retVal = validateObjects(WithCastToInternal(context, &neoContext));
if (retVal != CL_SUCCESS) {
err.set(retVal);
return nullptr;
}
return neoContext->getSVMAllocsManager()->createUnifiedMemoryAllocation(size, SVMAllocsManager::UnifiedMemoryProperties(InternalMemoryType::SHARED_UNIFIED_MEMORY));
}
cl_int clMemFreeINTEL(
@ -3472,7 +3490,7 @@ cl_int clSetKernelArgMemPointerINTEL(
cl_kernel kernel,
cl_uint argIndex,
const void *argValue) {
return CL_OUT_OF_HOST_MEMORY;
return clSetKernelArgSVMPointer(kernel, argIndex, argValue);
}
cl_int clEnqueueMemsetINTEL(