Skip to content

Commit 01b44ea

Browse files
fix: return the appropriate KernelInfo when calling the getKernelInfo
The indexes of all returned kernelInfo values greater than or equal to exportedFunctionsKernelId should be incremented by one Related-To: NEO-7820 Signed-off-by: Andrzej Koska <andrzej.koska@intel.com> Source: 7230120
1 parent 89244b1 commit 01b44ea

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

opencl/source/program/process_device_binary.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ size_t Program::getNumKernels() const {
6767

6868
const KernelInfo *Program::getKernelInfo(size_t ordinal, uint32_t rootDeviceIndex) const {
6969
auto &kernelInfoArray = buildInfos[rootDeviceIndex].kernelInfoArray;
70-
if (exportedFunctionsKernelId == ordinal) {
70+
if (exportedFunctionsKernelId <= ordinal) {
7171
ordinal++;
7272
}
7373
DEBUG_BREAK_IF(ordinal >= kernelInfoArray.size());

opencl/test/unit_test/program/program_tests.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,16 @@ TEST_F(ProgramGetKernelInfoTest, givenProgramWithFunctionsWhenGettingKernelInfoB
615615
EXPECT_EQ(program->buildInfos[0].kernelInfoArray[1], kernelInfo);
616616
}
617617

618+
TEST_F(ProgramGetKernelInfoTest, givenProgramWithFunctionsWhenGettingKernelInfoByIndexThenCorrespondingKernelInfoIsReturned) {
619+
program->resizeAndPopulateKernelInfoArray(9);
620+
program->exportedFunctionsKernelId = 4;
621+
622+
for (size_t ordinal = 0; ordinal < 8; ordinal++) {
623+
auto kernelInfo = program->getKernelInfo(ordinal, 0);
624+
EXPECT_EQ(program->buildInfos[0].kernelInfoArray[ordinal + (program->exportedFunctionsKernelId <= ordinal)], kernelInfo);
625+
}
626+
}
627+
618628
TEST_F(ProgramGetKernelInfoTest, givenProgramFunctionsWhenGettingKernelInfoByNameThenFunctionsAreNotExposed) {
619629
EXPECT_EQ(nullptr, program->getKernelInfo(NEO::Zebin::Elf::SectionNames::externalFunctions.data(), uint32_t(0)));
620630
}

0 commit comments

Comments
 (0)