Store KernelInfo per root device in Kernel

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2020-12-02 18:19:05 +00:00
committed by Compute-Runtime-Automation
parent eb97c48844
commit 0d943e95c4
67 changed files with 546 additions and 397 deletions

View File

@@ -35,7 +35,7 @@ void api_fixture_using_aligned_memory_manager::SetUp() {
program = new MockProgram(ctxPtr, false, toClDeviceVector(*device));
Program *prgPtr = reinterpret_cast<Program *>(program);
kernel = new MockKernel(prgPtr, program->mockKernelInfo);
kernel = new MockKernel(prgPtr, MockKernel::toKernelInfoContainer(program->mockKernelInfo, 0));
ASSERT_NE(nullptr, kernel);
}

View File

@@ -49,7 +49,7 @@ struct ApiFixture {
pProgram = new MockProgram(pContext, false, toClDeviceVector(*pDevice));
pKernel = new MockKernel(pProgram, pProgram->mockKernelInfo);
pKernel = new MockKernel(pProgram, MockKernel::toKernelInfoContainer(pProgram->mockKernelInfo, testedRootDeviceIndex));
ASSERT_NE(nullptr, pKernel);
}

View File

@@ -199,7 +199,7 @@ TEST_F(KernelSubGroupInfoKhrTest, GivenNullDeviceWhenGettingSubGroupInfoFromMult
MockUnrestrictiveContext context;
auto mockProgram = std::make_unique<MockProgram>(&context, false, context.getDevices());
auto mockKernel = std::make_unique<MockKernel>(mockProgram.get(), pKernel->getKernelInfo());
auto mockKernel = std::make_unique<MockKernel>(mockProgram.get(), pKernel->getKernelInfos());
retVal = clGetKernelSubGroupInfoKHR(
mockKernel.get(),

View File

@@ -348,7 +348,7 @@ TEST_F(KernelSubGroupInfoTest, GivenNullDeviceWhenGettingSubGroupInfoFromMultiDe
MockUnrestrictiveContext context;
auto mockProgram = std::make_unique<MockProgram>(&context, false, context.getDevices());
auto mockKernel = std::make_unique<MockKernel>(mockProgram.get(), pKernel->getKernelInfo());
auto mockKernel = std::make_unique<MockKernel>(mockProgram.get(), pKernel->getKernelInfos());
retVal = clGetKernelSubGroupInfo(
mockKernel.get(),

View File

@@ -134,7 +134,7 @@ TEST_F(clGetKernelWorkGroupInfoTest, GivenNullDeviceWhenGettingWorkGroupInfoFrom
size_t paramValueSizeRet;
MockUnrestrictiveContext context;
auto mockProgram = std::make_unique<MockProgram>(&context, false, context.getDevices());
auto mockKernel = std::make_unique<MockKernel>(mockProgram.get(), pKernel->getKernelInfo());
auto mockKernel = std::make_unique<MockKernel>(mockProgram.get(), MockKernel::toKernelInfoContainer(pKernel->getKernelInfo(), context.getDevice(0)->getRootDeviceIndex()));
retVal = clGetKernelWorkGroupInfo(
mockKernel.get(),

View File

@@ -39,7 +39,7 @@ class KernelArgSvmFixture : public ApiFixture<> {
pKernelInfo->kernelArgInfo[0].kernelArgPatchInfoVector[0].size = (uint32_t)sizeof(void *);
pKernelInfo->kernelArgInfo[0].metadata.addressQualifier = KernelArgMetadata::AddrGlobal;
pMockKernel = new MockKernel(pProgram, *pKernelInfo);
pMockKernel = new MockKernel(pProgram, MockKernel::toKernelInfoContainer(*pKernelInfo, testedRootDeviceIndex));
ASSERT_EQ(CL_SUCCESS, pMockKernel->initialize());
pMockKernel->setCrossThreadData(pCrossThreadData, sizeof(pCrossThreadData));
}
@@ -85,7 +85,7 @@ TEST_F(clSetKernelArgSVMPointerTests, GivenDeviceNotSupportingSvmWhenSettingKern
auto hwInfo = executionEnvironment->rootDeviceEnvironments[ApiFixture::testedRootDeviceIndex]->getMutableHardwareInfo();
hwInfo->capabilityTable.ftrSvm = false;
auto pMockKernel = std::make_unique<MockKernel>(pProgram, *pKernelInfo);
auto pMockKernel = std::make_unique<MockKernel>(pProgram, MockKernel::toKernelInfoContainer(*pKernelInfo, testedRootDeviceIndex));
auto retVal = clSetKernelArgSVMPointer(
pMockKernel.get(), // cl_kernel kernel
(cl_uint)-1, // cl_uint arg_index

View File

@@ -21,7 +21,7 @@ class KernelExecInfoFixture : public ApiFixture<> {
pKernelInfo = std::make_unique<KernelInfo>();
pMockKernel = new MockKernel(pProgram, *pKernelInfo);
pMockKernel = new MockKernel(pProgram, MockKernel::toKernelInfoContainer(*pKernelInfo, testedRootDeviceIndex));
ASSERT_EQ(CL_SUCCESS, pMockKernel->initialize());
svmCapabilities = pDevice->getDeviceInfo().svmCapabilities;
if (svmCapabilities != 0) {
@@ -67,7 +67,7 @@ TEST_F(clSetKernelArgSVMPointerTests, GivenDeviceNotSupportingSvmWhenSettingKern
auto hwInfo = executionEnvironment->rootDeviceEnvironments[ApiFixture::testedRootDeviceIndex]->getMutableHardwareInfo();
hwInfo->capabilityTable.ftrSvm = false;
auto pMockKernel = std::make_unique<MockKernel>(pProgram, *pKernelInfo);
auto pMockKernel = std::make_unique<MockKernel>(pProgram, MockKernel::toKernelInfoContainer(*pKernelInfo, testedRootDeviceIndex));
auto retVal = clSetKernelExecInfo(
pMockKernel.get(), // cl_kernel kernel
CL_KERNEL_EXEC_INFO_SVM_PTRS, // cl_kernel_exec_info param_name