Store KernelInfo per root device in Program

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2020-11-30 17:38:28 +00:00
committed by Compute-Runtime-Automation
parent ff069c1171
commit 2ee1d569c5
37 changed files with 230 additions and 202 deletions

View File

@ -40,7 +40,7 @@ class ExecutionModelKernelFixture : public ProgramFromBinaryTest,
// create a kernel
pKernel = Kernel::create<MockKernel>(
pProgram,
*pProgram->getKernelInfo(KernelName),
*pProgram->getKernelInfo(kernelName, rootDeviceIndex),
&retVal);
ASSERT_EQ(CL_SUCCESS, retVal);

View File

@ -77,7 +77,7 @@ struct HelloWorldKernelFixture : public ProgramFixture {
// create a kernel
pKernel = Kernel::create<MockKernel>(
pProgram,
*pProgram->getKernelInfo(pKernelName->c_str()),
*pProgram->getKernelInfo(pKernelName->c_str(), pDevice->getRootDeviceIndex()),
&retVal);
EXPECT_NE(nullptr, pKernel);

View File

@ -95,7 +95,7 @@ void KernelDataTest::buildAndDecode() {
EXPECT_EQ(CL_SUCCESS, error);
// extract the kernel info
pKernelInfo = program->Program::getKernelInfo(kernelName.c_str());
pKernelInfo = program->Program::getKernelInfo(kernelName.c_str(), rootDeviceIndex);
// validate name
EXPECT_STREQ(pKernelInfo->kernelDescriptor.kernelMetadata.kernelName.c_str(), kernelName.c_str());

View File

@ -53,6 +53,7 @@ class KernelDataTest : public testing::Test {
void SetUp() override {
kernelBinaryHeader.KernelNameSize = kernelNameSize;
pContext = new MockContext;
rootDeviceIndex = pContext->getDevice(0)->getRootDeviceIndex();
program = std::make_unique<MockProgram>(pContext, false, toClDeviceVector(*pContext->getDevice(0)));
}
@ -91,4 +92,5 @@ class KernelDataTest : public testing::Test {
std::unique_ptr<MockProgram> program;
MockContext *pContext;
const KernelInfo *pKernelInfo;
uint32_t rootDeviceIndex = std::numeric_limits<uint32_t>::max();
};

View File

@ -76,7 +76,7 @@ struct MediaKernelFixture : public HelloWorldFixture<FactoryType>,
// create the VME kernel
pVmeKernel = Kernel::create<MockKernel>(
pProgram,
*pProgram->getKernelInfo("device_side_block_motion_estimate_intel"),
*pProgram->getKernelInfo("device_side_block_motion_estimate_intel", pProgram->getDevices()[0]->getRootDeviceIndex()),
&retVal);
ASSERT_NE(nullptr, pVmeKernel);

View File

@ -110,7 +110,7 @@ class SimpleArgKernelFixture : public ProgramFixture {
// create a kernel
pKernel = Kernel::create<MockKernel>(
pProgram,
*pProgram->getKernelInfo("SimpleArg"),
*pProgram->getKernelInfo("SimpleArg", pDevice->getRootDeviceIndex()),
&retVal);
ASSERT_NE(nullptr, pKernel);
@ -156,7 +156,7 @@ class SimpleArgNonUniformKernelFixture : public ProgramFixture {
kernel = Kernel::create<MockKernel>(
pProgram,
*pProgram->getKernelInfo("simpleNonUniform"),
*pProgram->getKernelInfo("simpleNonUniform", device->getRootDeviceIndex()),
&retVal);
ASSERT_NE(nullptr, kernel);
ASSERT_EQ(CL_SUCCESS, retVal);
@ -202,7 +202,7 @@ class SimpleKernelFixture : public ProgramFixture {
kernelName.append(std::to_string(i));
kernels[i].reset(Kernel::create<MockKernel>(
pProgram,
*pProgram->getKernelInfo(kernelName.c_str()),
*pProgram->getKernelInfo(kernelName.c_str(), device->getRootDeviceIndex()),
&retVal));
ASSERT_NE(nullptr, kernels[i]);
ASSERT_EQ(CL_SUCCESS, retVal);
@ -251,7 +251,7 @@ class SimpleKernelStatelessFixture : public ProgramFixture {
kernel.reset(Kernel::create<MockKernel>(
pProgram,
*pProgram->getKernelInfo("statelessKernel"),
*pProgram->getKernelInfo("statelessKernel", device->getRootDeviceIndex()),
&retVal));
ASSERT_NE(nullptr, kernel);
ASSERT_EQ(CL_SUCCESS, retVal);
@ -294,7 +294,7 @@ class BindlessKernelFixture : public ProgramFixture {
kernel.reset(Kernel::create<MockKernel>(
pProgram,
*pProgram->getKernelInfo(kernelName.c_str()),
*pProgram->getKernelInfo(kernelName.c_str(), deviceCl->getRootDeviceIndex()),
&retVal));
ASSERT_NE(nullptr, kernel);
ASSERT_EQ(CL_SUCCESS, retVal);