mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 14:02:58 +08:00
fix: use required walk order
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com> Related-To: NEO-10014
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
9309d7d865
commit
b348eaf29f
@@ -786,8 +786,9 @@ void populateKernelSourceAttributes(NEO::KernelDescriptor &dst, const KernelAttr
|
|||||||
appendAttributeIfSet(languageAttributes, AttributeTags::workgroupSizeHint, attributes.workgroupSizeHint);
|
appendAttributeIfSet(languageAttributes, AttributeTags::workgroupSizeHint, attributes.workgroupSizeHint);
|
||||||
appendAttributeIfSet(languageAttributes, AttributeTags::vecTypeHint, attributes.vecTypeHint);
|
appendAttributeIfSet(languageAttributes, AttributeTags::vecTypeHint, attributes.vecTypeHint);
|
||||||
appendAttributeIfSet(languageAttributes, AttributeTags::invalidKernel, attributes.invalidKernel);
|
appendAttributeIfSet(languageAttributes, AttributeTags::invalidKernel, attributes.invalidKernel);
|
||||||
dst.kernelAttributes.flags.isInvalid = attributes.invalidKernel.has_value();
|
|
||||||
|
|
||||||
|
dst.kernelAttributes.flags.isInvalid = attributes.invalidKernel.has_value();
|
||||||
|
dst.kernelAttributes.flags.requiresWorkgroupWalkOrder = attributes.intelReqdWorkgroupWalkOrder.has_value();
|
||||||
dst.kernelMetadata.requiredSubGroupSize = static_cast<uint8_t>(attributes.intelReqdSubgroupSize.value_or(0U));
|
dst.kernelMetadata.requiredSubGroupSize = static_cast<uint8_t>(attributes.intelReqdSubgroupSize.value_or(0U));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2263,6 +2263,21 @@ TEST(PopulateKernelSourceAttributes, GivenInvalidKernelAttributeWhenPopulatingKe
|
|||||||
EXPECT_STREQ("invalid_kernel(reason)", kd.kernelMetadata.kernelLanguageAttributes.c_str());
|
EXPECT_STREQ("invalid_kernel(reason)", kd.kernelMetadata.kernelLanguageAttributes.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(PopulateKernelSourceAttributes, GivenAttributesWithoutRequiredWalkOrderWhenPopulatingKernelSourceAttributesThenKernelNotRequireWalkOrder) {
|
||||||
|
NEO::KernelDescriptor kd;
|
||||||
|
NEO::Zebin::ZeInfo::KernelAttributesBaseT attributes;
|
||||||
|
NEO::Zebin::ZeInfo::populateKernelSourceAttributes(kd, attributes);
|
||||||
|
EXPECT_FALSE(kd.kernelAttributes.flags.requiresWorkgroupWalkOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(PopulateKernelSourceAttributes, GivenRequiredWalkOrderAttributeWhenPopulatingKernelSourceAttributesThenKernelRequireWalkOrder) {
|
||||||
|
NEO::KernelDescriptor kd;
|
||||||
|
NEO::Zebin::ZeInfo::KernelAttributesBaseT attributes;
|
||||||
|
attributes.intelReqdWorkgroupWalkOrder = {0, 2, 1};
|
||||||
|
NEO::Zebin::ZeInfo::populateKernelSourceAttributes(kd, attributes);
|
||||||
|
EXPECT_TRUE(kd.kernelAttributes.flags.requiresWorkgroupWalkOrder);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_F(decodeZeInfoKernelEntryTest, GivenUnknownAttributeWhenPopulatingKernelDescriptorThenErrorIsReturned) {
|
TEST_F(decodeZeInfoKernelEntryTest, GivenUnknownAttributeWhenPopulatingKernelDescriptorThenErrorIsReturned) {
|
||||||
ConstStringRef zeinfo = R"===(---
|
ConstStringRef zeinfo = R"===(---
|
||||||
kernels:
|
kernels:
|
||||||
|
|||||||
Reference in New Issue
Block a user