Use MultiDeviceKernel instead of Kernel in clCloneKernel

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2021-03-18 15:05:25 +00:00
committed by Compute-Runtime-Automation
parent 693f2ff384
commit 487f10f999
5 changed files with 370 additions and 296 deletions

View File

@@ -5565,7 +5565,6 @@ cl_int CL_API_CALL clEnqueueSVMMigrateMem(cl_command_queue commandQueue,
cl_kernel CL_API_CALL clCloneKernel(cl_kernel sourceKernel,
cl_int *errcodeRet) {
TRACING_ENTER(clCloneKernel, &sourceKernel, &errcodeRet);
Kernel *pSourceKernel = nullptr;
MultiDeviceKernel *pSourceMultiDeviceKernel = nullptr;
MultiDeviceKernel *pClonedMultiDeviceKernel = nullptr;
@@ -5574,13 +5573,12 @@ cl_kernel CL_API_CALL clCloneKernel(cl_kernel sourceKernel,
DBG_LOG_INPUTS("sourceKernel", sourceKernel);
if (CL_SUCCESS == retVal) {
pSourceKernel = pSourceMultiDeviceKernel->getDefaultKernel();
pClonedMultiDeviceKernel = MultiDeviceKernel::create(pSourceKernel->getProgram(),
pSourceKernel->getKernelInfos(),
pClonedMultiDeviceKernel = MultiDeviceKernel::create(pSourceMultiDeviceKernel->getProgram(),
pSourceMultiDeviceKernel->getKernelInfos(),
&retVal);
UNRECOVERABLE_IF((pClonedMultiDeviceKernel == nullptr) || (retVal != CL_SUCCESS));
retVal = pClonedMultiDeviceKernel->cloneKernel(pSourceKernel);
retVal = pClonedMultiDeviceKernel->cloneKernel(pSourceMultiDeviceKernel);
}
if (errcodeRet) {