diff --git a/opencl/source/cl_device/cl_device.cpp b/opencl/source/cl_device/cl_device.cpp index d06ad7d24d..ae4205a271 100644 --- a/opencl/source/cl_device/cl_device.cpp +++ b/opencl/source/cl_device/cl_device.cpp @@ -287,11 +287,5 @@ const ProductHelper &ClDevice::getProductHelper() const { const GTPinGfxCoreHelper &ClDevice::getGTPinGfxCoreHelper() const { return *gtpinGfxCoreHelper; } -cl_version ClDevice::getExtensionVersion(std::string name) { - if (name.compare("cl_khr_integer_dot_product") == 0) - return CL_MAKE_VERSION(2u, 0, 0); - else - return CL_MAKE_VERSION(1u, 0, 0); -} } // namespace NEO diff --git a/opencl/source/cl_device/cl_device.h b/opencl/source/cl_device/cl_device.h index 24252a78f4..4f60ca6334 100644 --- a/opencl/source/cl_device/cl_device.h +++ b/opencl/source/cl_device/cl_device.h @@ -136,7 +136,6 @@ class ClDevice : public BaseObject<_cl_device_id> { const GTPinGfxCoreHelper &getGTPinGfxCoreHelper() const; std::unique_ptr gtpinGfxCoreHelper; - cl_version getExtensionVersion(std::string name); protected: void initializeCaps(); diff --git a/opencl/source/cl_device/cl_device_caps.cpp b/opencl/source/cl_device/cl_device_caps.cpp index bcf739b516..c7c5f2a6d6 100644 --- a/opencl/source/cl_device/cl_device_caps.cpp +++ b/opencl/source/cl_device/cl_device_caps.cpp @@ -405,22 +405,6 @@ void ClDevice::initializeCaps() { deviceInfo.crossDeviceSharedMemCapabilities = productHelper.getCrossDeviceSharedMemCapabilities(); deviceInfo.sharedSystemMemCapabilities = productHelper.getSharedSystemMemCapabilities(&hwInfo); - deviceInfo.integerDotCapabilities = CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_KHR | CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_PACKED_KHR; - deviceInfo.integerDotAccelerationProperties8Bit = { - CL_TRUE, // signed_accelerated; - CL_TRUE, // unsigned_accelerated; - CL_TRUE, // mixed_signedness_accelerated; - CL_TRUE, // accumulating_saturating_signed_accelerated; - CL_TRUE, // accumulating_saturating_unsigned_accelerated; - CL_TRUE}; // accumulating_saturating_mixed_signedness_accelerated; - deviceInfo.integerDotAccelerationProperties4x8BitPacked = { - CL_TRUE, // signed_accelerated; - CL_TRUE, // unsigned_accelerated; - CL_TRUE, // mixed_signedness_accelerated; - CL_TRUE, // accumulating_saturating_signed_accelerated; - CL_TRUE, // accumulating_saturating_unsigned_accelerated; - CL_TRUE}; // accumulating_saturating_mixed_signedness_accelerated; - initializeOsSpecificCaps(); getOpenclCFeaturesList(hwInfo, deviceInfo.openclCFeatures); } @@ -432,7 +416,7 @@ void ClDevice::initializeExtensionsWithVersion() { deviceInfo.extensionsWithVersion.reserve(deviceExtensionsVector.size()); for (auto deviceExtension : deviceExtensionsVector) { cl_name_version deviceExtensionWithVersion; - deviceExtensionWithVersion.version = getExtensionVersion(deviceExtension); + deviceExtensionWithVersion.version = CL_MAKE_VERSION(1, 0, 0); strcpy_s(deviceExtensionWithVersion.name, CL_NAME_VERSION_MAX_NAME_SIZE, deviceExtension.c_str()); deviceInfo.extensionsWithVersion.push_back(deviceExtensionWithVersion); } diff --git a/opencl/source/cl_device/cl_device_info.cpp b/opencl/source/cl_device/cl_device_info.cpp index 3e53326489..1f8e3fa94b 100644 --- a/opencl/source/cl_device/cl_device_info.cpp +++ b/opencl/source/cl_device/cl_device_info.cpp @@ -180,9 +180,6 @@ cl_int ClDevice::getDeviceInfo(cl_device_info paramName, case CL_DEVICE_VENDOR_ID: getCap(src, srcSize, retSize); break; case CL_DEVICE_VERSION: getStr(src, srcSize, retSize); break; case CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT: getCap(src, srcSize, retSize); break; - case CL_DEVICE_INTEGER_DOT_PRODUCT_CAPABILITIES_KHR: getCap(src, srcSize, retSize); break; - case CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_4x8BIT_PACKED_KHR: getCap(src, srcSize, retSize); break; - case CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_8BIT_KHR: getCap(src, srcSize, retSize); break; case CL_DRIVER_VERSION: getStr(src, srcSize, retSize); break; // clang-format on case CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES: if (paramValueSize == sizeof(cl_bool)) { diff --git a/opencl/source/cl_device/cl_device_info.h b/opencl/source/cl_device/cl_device_info.h index 124a6f1fc2..0ada443123 100644 --- a/opencl/source/cl_device/cl_device_info.h +++ b/opencl/source/cl_device/cl_device_info.h @@ -142,9 +142,6 @@ struct ClDeviceInfo { cl_unified_shared_memory_capabilities_intel crossDeviceSharedMemCapabilities; cl_unified_shared_memory_capabilities_intel sharedSystemMemCapabilities; StackVec supportedThreadArbitrationPolicies; - cl_device_integer_dot_product_capabilities_khr integerDotCapabilities; - cl_device_integer_dot_product_acceleration_properties_khr integerDotAccelerationProperties8Bit; - cl_device_integer_dot_product_acceleration_properties_khr integerDotAccelerationProperties4x8BitPacked; }; // clang-format on diff --git a/opencl/source/cl_device/cl_device_info_map.h b/opencl/source/cl_device/cl_device_info_map.h index c36624da06..36c6b3301f 100644 --- a/opencl/source/cl_device/cl_device_info_map.h +++ b/opencl/source/cl_device/cl_device_info_map.h @@ -77,6 +77,7 @@ template<> struct Map : public MapBa template<> struct Map : public MapBase {}; template<> struct Map : public MapBase {}; template<> struct Map : public MapBase {}; + template<> struct Map : public ClMapBase {}; template<> struct Map : public ClMapBase {}; template<> struct Map : public ClMapBase {}; @@ -174,10 +175,6 @@ template<> struct Map : template<> struct Map : public ClMapBase {}; template<> struct Map : public ClMapBase {}; template<> struct Map : public ClMapBase {}; -template<> struct Map : public ClMapBase {}; -template<> struct Map : public ClMapBase {}; -template<> struct Map : public ClMapBase {}; - // clang-format on } // namespace ClDeviceInfoTable diff --git a/opencl/test/unit_test/api/cl_get_device_info_tests.inl b/opencl/test/unit_test/api/cl_get_device_info_tests.inl index 0739899189..0fb6038c73 100644 --- a/opencl/test/unit_test/api/cl_get_device_info_tests.inl +++ b/opencl/test/unit_test/api/cl_get_device_info_tests.inl @@ -283,8 +283,7 @@ TEST_F(clGetDeviceInfoTests, GivenClDeviceExtensionsParamWhenGettingDeviceInfoTh "cl_khr_subgroup_clustered_reduce ", "cl_intel_device_attribute_query ", "cl_khr_suggested_local_work_size ", - "cl_intel_split_work_group_barrier ", - "cl_khr_integer_dot_product "}; + "cl_intel_split_work_group_barrier "}; for (auto extension : supportedExtensions) { auto foundOffset = extensionString.find(extension); @@ -455,52 +454,4 @@ INSTANTIATE_TEST_CASE_P( GetDeviceInfoVectorWidth, testing::ValuesIn(devicePreferredVector)); -TEST_F(clGetDeviceInfoTests, givenClDeviceWhenGetInfoForIntegerDotCapsThenCorrectValuesAreSet) { - size_t paramRetSize = 0; - cl_device_integer_dot_product_capabilities_khr integerDotCapabilities{}; - - clGetDeviceInfo( - testedClDevice, - CL_DEVICE_INTEGER_DOT_PRODUCT_CAPABILITIES_KHR, - sizeof(integerDotCapabilities), - &integerDotCapabilities, - ¶mRetSize); - EXPECT_TRUE((integerDotCapabilities & CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_KHR) && (integerDotCapabilities & CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_PACKED_KHR)); -} - -TEST_F(clGetDeviceInfoTests, givenClDeviceWhenGetInfoForIntegerDot8BitPropertiesThenCorrectValuesAreSet) { - size_t paramRetSize = 0; - cl_device_integer_dot_product_acceleration_properties_khr integerDotAccelerationProperties8Bit{}; - - clGetDeviceInfo( - testedClDevice, - CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_8BIT_KHR, - sizeof(integerDotAccelerationProperties8Bit), - &integerDotAccelerationProperties8Bit, - ¶mRetSize); - EXPECT_TRUE(integerDotAccelerationProperties8Bit.accumulating_saturating_mixed_signedness_accelerated); - EXPECT_TRUE(integerDotAccelerationProperties8Bit.accumulating_saturating_signed_accelerated); - EXPECT_TRUE(integerDotAccelerationProperties8Bit.accumulating_saturating_unsigned_accelerated); - EXPECT_TRUE(integerDotAccelerationProperties8Bit.mixed_signedness_accelerated); - EXPECT_TRUE(integerDotAccelerationProperties8Bit.signed_accelerated); - EXPECT_TRUE(integerDotAccelerationProperties8Bit.unsigned_accelerated); -} - -TEST_F(clGetDeviceInfoTests, givenClDeviceWhenGetInfoForIntegerDot8BitPackedPropertiesThenCorrectValuesAreSet) { - size_t paramRetSize = 0; - cl_device_integer_dot_product_acceleration_properties_khr integerDotAccelerationProperties8BitPacked{}; - - clGetDeviceInfo( - testedClDevice, - CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_4x8BIT_PACKED_KHR, - sizeof(integerDotAccelerationProperties8BitPacked), - &integerDotAccelerationProperties8BitPacked, - ¶mRetSize); - EXPECT_TRUE(integerDotAccelerationProperties8BitPacked.accumulating_saturating_mixed_signedness_accelerated); - EXPECT_TRUE(integerDotAccelerationProperties8BitPacked.accumulating_saturating_signed_accelerated); - EXPECT_TRUE(integerDotAccelerationProperties8BitPacked.accumulating_saturating_unsigned_accelerated); - EXPECT_TRUE(integerDotAccelerationProperties8BitPacked.mixed_signedness_accelerated); - EXPECT_TRUE(integerDotAccelerationProperties8BitPacked.signed_accelerated); - EXPECT_TRUE(integerDotAccelerationProperties8BitPacked.unsigned_accelerated); -} } // namespace ULT diff --git a/opencl/test/unit_test/api/cl_get_platform_info_tests.inl b/opencl/test/unit_test/api/cl_get_platform_info_tests.inl index 741ceb2b07..9c26cdb56c 100644 --- a/opencl/test/unit_test/api/cl_get_platform_info_tests.inl +++ b/opencl/test/unit_test/api/cl_get_platform_info_tests.inl @@ -204,11 +204,7 @@ TEST_F(clGetPlatformInfoTests, WhenCheckingPlatformExtensionsWithVersionThenThey std::string allExtensions; for (size_t i = 0; i < extensionsCount; i++) { - if (strcmp(platformExtensionsWithVersion[i].name, "cl_khr_integer_dot_product") == 0) { - EXPECT_EQ(CL_MAKE_VERSION(2u, 0, 0), platformExtensionsWithVersion[i].version); - } else { - EXPECT_EQ(CL_MAKE_VERSION(1u, 0, 0), platformExtensionsWithVersion[i].version); - } + EXPECT_EQ(CL_MAKE_VERSION(1u, 0u, 0u), platformExtensionsWithVersion[i].version); allExtensions += platformExtensionsWithVersion[i].name; allExtensions += " "; } diff --git a/opencl/test/unit_test/device/device_caps_tests.cpp b/opencl/test/unit_test/device/device_caps_tests.cpp index fa88441e72..9bcea11109 100644 --- a/opencl/test/unit_test/device/device_caps_tests.cpp +++ b/opencl/test/unit_test/device/device_caps_tests.cpp @@ -965,11 +965,7 @@ TEST_F(DeviceGetCapsTest, givenDefaultDeviceWhenQueriedForExtensionsWithVersionT EXPECT_FALSE(pClDevice->getDeviceInfo().extensionsWithVersion.empty()); for (auto extensionWithVersion : pClDevice->getDeviceInfo().extensionsWithVersion) { - if (strcmp(extensionWithVersion.name, "cl_khr_integer_dot_product") == 0) { - EXPECT_EQ(CL_MAKE_VERSION(2u, 0, 0), extensionWithVersion.version); - } else { - EXPECT_EQ(CL_MAKE_VERSION(1u, 0, 0), extensionWithVersion.version); - } + EXPECT_EQ(CL_MAKE_VERSION(1u, 0u, 0u), extensionWithVersion.version); allExtensions += extensionWithVersion.name; allExtensions += " "; } @@ -977,69 +973,6 @@ TEST_F(DeviceGetCapsTest, givenDefaultDeviceWhenQueriedForExtensionsWithVersionT EXPECT_STREQ(pClDevice->deviceExtensions.c_str(), allExtensions.c_str()); } -TEST_F(DeviceGetCapsTest, givenClDeviceWhenGetExtensionsVersionCalledThenCorrectVersionIsSet) { - UltClDeviceFactory deviceFactory{1, 0}; - auto pClDevice = deviceFactory.rootDevices[0]; - pClDevice->getDeviceInfo(CL_DEVICE_EXTENSIONS_WITH_VERSION, 0, nullptr, nullptr); - for (auto extensionWithVersion : pClDevice->getDeviceInfo().extensionsWithVersion) { - if (strcmp(extensionWithVersion.name, "cl_khr_integer_dot_product") == 0) { - EXPECT_EQ(CL_MAKE_VERSION(2u, 0, 0), pClDevice->getExtensionVersion(std::string(extensionWithVersion.name))); - } else { - EXPECT_EQ(CL_MAKE_VERSION(1u, 0, 0), pClDevice->getExtensionVersion(std::string(extensionWithVersion.name))); - } - } -} - -TEST_F(DeviceGetCapsTest, givenClDeviceWhenCapsInitializedThenIntegerDotInput4xBitCapIsSet) { - UltClDeviceFactory deviceFactory{1, 0}; - auto pClDevice = deviceFactory.rootDevices[0]; - pClDevice->initializeCaps(); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotCapabilities & CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_KHR); -} - -TEST_F(DeviceGetCapsTest, givenClDeviceWhenCapsInitializedThenIntegerDotInput4xBitPackedCapIsSet) { - UltClDeviceFactory deviceFactory{1, 0}; - auto pClDevice = deviceFactory.rootDevices[0]; - pClDevice->initializeCaps(); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotCapabilities & CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_PACKED_KHR); -} - -TEST_F(DeviceGetCapsTest, givenClDeviceWhenCapsInitializedThenAllFieldsInIntegerDotAccPropertiesAreTrue) { - UltClDeviceFactory deviceFactory{1, 0}; - auto pClDevice = deviceFactory.rootDevices[0]; - pClDevice->initializeCaps(); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties8Bit.accumulating_saturating_mixed_signedness_accelerated); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties8Bit.accumulating_saturating_signed_accelerated); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties8Bit.accumulating_saturating_unsigned_accelerated); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties8Bit.mixed_signedness_accelerated); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties8Bit.signed_accelerated); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties8Bit.unsigned_accelerated); -} - -TEST_F(DeviceGetCapsTest, givenClDeviceWhenCapsInitializedThenAllFieldsInIntegerDotAccPackedPropertiesAreTrue) { - UltClDeviceFactory deviceFactory{1, 0}; - auto pClDevice = deviceFactory.rootDevices[0]; - pClDevice->initializeCaps(); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties4x8BitPacked.accumulating_saturating_mixed_signedness_accelerated); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties4x8BitPacked.accumulating_saturating_signed_accelerated); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties4x8BitPacked.accumulating_saturating_unsigned_accelerated); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties4x8BitPacked.mixed_signedness_accelerated); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties4x8BitPacked.signed_accelerated); - EXPECT_TRUE(pClDevice->deviceInfo.integerDotAccelerationProperties4x8BitPacked.unsigned_accelerated); -} - -TEST_F(DeviceGetCapsTest, givenClDeviceWhenEnableIntegerDotExtensionEnalbedThenDotIntegerExtensionIsInExtensionString) { - UltClDeviceFactory deviceFactory{1, 0}; - auto pClDevice = deviceFactory.rootDevices[0]; - pClDevice->initializeCaps(); - static const char *const supportedExtensions[] = { - "cl_khr_integer_dot_product "}; - for (auto extension : supportedExtensions) { - auto foundOffset = pClDevice->deviceExtensions.find(extension); - EXPECT_TRUE(foundOffset != std::string::npos); - } -} - TEST_F(DeviceGetCapsTest, givenFp64SupportForcedWhenCheckingFp64SupportThenFp64IsCorrectlyReported) { DebugManagerStateRestore dbgRestorer; int32_t overrideDefaultFP64SettingsValues[] = {-1, 0, 1}; diff --git a/shared/source/helpers/compiler_product_helper_base.inl b/shared/source/helpers/compiler_product_helper_base.inl index cadbb2dfbc..c63039c363 100644 --- a/shared/source/helpers/compiler_product_helper_base.inl +++ b/shared/source/helpers/compiler_product_helper_base.inl @@ -66,8 +66,7 @@ std::string CompilerProductHelperHw::getDeviceExtensions(const Hardw "cl_khr_subgroup_clustered_reduce " "cl_intel_device_attribute_query " "cl_khr_suggested_local_work_size " - "cl_intel_split_work_group_barrier " - "cl_khr_integer_dot_product "; + "cl_intel_split_work_group_barrier "; auto supportsFp64 = hwInfo.capabilityTable.ftrSupportsFP64; if (DebugManager.flags.OverrideDefaultFP64Settings.get() != -1) {