mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-11 16:45:25 +08:00
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:
committed by
Compute-Runtime-Automation
parent
eb97c48844
commit
0d943e95c4
@@ -36,14 +36,14 @@ void DevicePreemptionTests::SetUp() {
|
||||
}
|
||||
const cl_queue_properties properties[3] = {CL_QUEUE_PROPERTIES, 0, 0};
|
||||
kernelInfo = std::make_unique<KernelInfo>();
|
||||
device = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(nullptr));
|
||||
device = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(nullptr, rootDeviceIndex));
|
||||
context.reset(new MockContext(device.get()));
|
||||
cmdQ.reset(new MockCommandQueue(context.get(), device.get(), properties));
|
||||
executionEnvironment.reset(new SPatchExecutionEnvironment);
|
||||
memset(executionEnvironment.get(), 0, sizeof(SPatchExecutionEnvironment));
|
||||
kernelInfo->patchInfo.executionEnvironment = executionEnvironment.get();
|
||||
program = std::make_unique<MockProgram>(toClDeviceVector(*device));
|
||||
kernel.reset(new MockKernel(program.get(), *kernelInfo));
|
||||
kernel.reset(new MockKernel(program.get(), MockKernel::toKernelInfoContainer(*kernelInfo, rootDeviceIndex)));
|
||||
dispatchInfo.reset(new DispatchInfo(device.get(), kernel.get(), 1, Vec3<size_t>(1, 1, 1), Vec3<size_t>(1, 1, 1), Vec3<size_t>(0, 0, 0)));
|
||||
|
||||
ASSERT_NE(nullptr, device);
|
||||
|
||||
@@ -53,6 +53,7 @@ class DevicePreemptionTests : public ::testing::Test {
|
||||
std::unique_ptr<iOpenCL::SPatchExecutionEnvironment> executionEnvironment;
|
||||
std::unique_ptr<NEO::MockProgram> program;
|
||||
std::unique_ptr<NEO::KernelInfo> kernelInfo;
|
||||
const uint32_t rootDeviceIndex = 0u;
|
||||
};
|
||||
|
||||
struct ThreadGroupPreemptionEnqueueKernelTest : NEO::PreemptionEnqueueKernelTest {
|
||||
|
||||
@@ -40,7 +40,7 @@ struct ExecutionModelKernelFixture : public ProgramFromBinaryFixture,
|
||||
// create a kernel
|
||||
pKernel = Kernel::create<MockKernel>(
|
||||
pProgram,
|
||||
*pProgram->getKernelInfo(kernelName, rootDeviceIndex),
|
||||
pProgram->getKernelInfosForKernel(kernelName),
|
||||
&retVal);
|
||||
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
@@ -77,7 +77,7 @@ struct HelloWorldKernelFixture : public ProgramFixture {
|
||||
// create a kernel
|
||||
pKernel = Kernel::create<MockKernel>(
|
||||
pProgram,
|
||||
*pProgram->getKernelInfo(pKernelName->c_str(), pDevice->getRootDeviceIndex()),
|
||||
pProgram->getKernelInfosForKernel(pKernelName->c_str()),
|
||||
&retVal);
|
||||
|
||||
EXPECT_NE(nullptr, pKernel);
|
||||
|
||||
@@ -61,7 +61,7 @@ void KernelImageArgTest::SetUp() {
|
||||
ClDeviceFixture::SetUp();
|
||||
context.reset(new MockContext(pClDevice));
|
||||
program = std::make_unique<MockProgram>(context.get(), false, toClDeviceVector(*pClDevice));
|
||||
pKernel.reset(new MockKernel(program.get(), *pKernelInfo));
|
||||
pKernel.reset(new MockKernel(program.get(), MockKernel::toKernelInfoContainer(*pKernelInfo, rootDeviceIndex)));
|
||||
ASSERT_EQ(CL_SUCCESS, pKernel->initialize());
|
||||
|
||||
pKernel->setKernelArgHandler(0, &Kernel::setArgImage);
|
||||
|
||||
@@ -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->getDevices()[0]->getRootDeviceIndex()),
|
||||
pProgram->getKernelInfosForKernel("device_side_block_motion_estimate_intel"),
|
||||
&retVal);
|
||||
|
||||
ASSERT_NE(nullptr, pVmeKernel);
|
||||
|
||||
@@ -110,7 +110,7 @@ class SimpleArgKernelFixture : public ProgramFixture {
|
||||
// create a kernel
|
||||
pKernel = Kernel::create<MockKernel>(
|
||||
pProgram,
|
||||
*pProgram->getKernelInfo("SimpleArg", pDevice->getRootDeviceIndex()),
|
||||
pProgram->getKernelInfosForKernel("SimpleArg"),
|
||||
&retVal);
|
||||
|
||||
ASSERT_NE(nullptr, pKernel);
|
||||
@@ -156,7 +156,7 @@ class SimpleArgNonUniformKernelFixture : public ProgramFixture {
|
||||
|
||||
kernel = Kernel::create<MockKernel>(
|
||||
pProgram,
|
||||
*pProgram->getKernelInfo("simpleNonUniform", device->getRootDeviceIndex()),
|
||||
pProgram->getKernelInfosForKernel("simpleNonUniform"),
|
||||
&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(), device->getRootDeviceIndex()),
|
||||
pProgram->getKernelInfosForKernel(kernelName.c_str()),
|
||||
&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", device->getRootDeviceIndex()),
|
||||
pProgram->getKernelInfosForKernel("statelessKernel"),
|
||||
&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(), deviceCl->getRootDeviceIndex()),
|
||||
pProgram->getKernelInfosForKernel(kernelName.c_str()),
|
||||
&retVal));
|
||||
ASSERT_NE(nullptr, kernel);
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
Reference in New Issue
Block a user