diff --git a/opencl/source/dll/linux/devices/devices_base.inl b/opencl/source/dll/linux/devices/devices_base.inl index 30df96a1ac..7d62967cae 100644 --- a/opencl/source/dll/linux/devices/devices_base.inl +++ b/opencl/source/dll/linux/devices/devices_base.inl @@ -49,8 +49,16 @@ DEVICE( IEHL_1x4x8_DEVICE_A0_ID, EHL_1x4x8, GTTYPE_GT1 ) DEVICE( IJSL_1x4x4_DEVICE_B0_ID, EHL_1x4x4, GTTYPE_GT1 ) DEVICE( IJSL_1x4x6_DEVICE_B0_ID, EHL_1x4x6, GTTYPE_GT1 ) DEVICE( IJSL_1x4x8_DEVICE_B0_ID, EHL_1x4x8, GTTYPE_GT1 ) -#endif +DEVICE( DEV_ID_4541, EHL_1x2x4, GTTYPE_GT1 ) +DEVICE( DEV_ID_4551, EHL_1x4x4, GTTYPE_GT1 ) +DEVICE( DEV_ID_4571, EHL_1x4x8, GTTYPE_GT1 ) +DEVICE( DEV_ID_4555, EHL_HW_CONFIG, GTTYPE_GT1 ) +DEVICE( DEV_ID_4E51, EHL_1x4x4, GTTYPE_GT1 ) +DEVICE( DEV_ID_4E61, EHL_1x4x6, GTTYPE_GT1 ) +DEVICE( DEV_ID_4E71, EHL_1x4x8, GTTYPE_GT1 ) +DEVICE( DEV_ID_4E55, EHL_HW_CONFIG, GTTYPE_GT1 ) +#endif #endif #ifdef SUPPORT_GEN9 diff --git a/opencl/source/gen11/hw_info_ehl.inl b/opencl/source/gen11/hw_info_ehl.inl index 46fcf04c12..6f11e33791 100644 --- a/opencl/source/gen11/hw_info_ehl.inl +++ b/opencl/source/gen11/hw_info_ehl.inl @@ -147,6 +147,37 @@ void EHL_1x2x4::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAn } }; +const HardwareInfo EHL_HW_CONFIG::hwInfo = { + &EHL::platform, + &EHL::featureTable, + &EHL::workaroundTable, + &EHL_HW_CONFIG::gtSystemInfo, + EHL::capabilityTable, +}; +GT_SYSTEM_INFO EHL_HW_CONFIG::gtSystemInfo = {0}; +void EHL_HW_CONFIG::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) { + GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo; + gtSysInfo->ThreadCount = gtSysInfo->EUCount * EHL::threadsPerEu; + gtSysInfo->SliceCount = 1; + gtSysInfo->L3CacheSizeInKb = 1280; + gtSysInfo->L3BankCount = 4; + gtSysInfo->MaxFillRate = 8; + gtSysInfo->TotalVsThreads = 0; + gtSysInfo->TotalHsThreads = 0; + gtSysInfo->TotalDsThreads = 0; + gtSysInfo->TotalGsThreads = 0; + gtSysInfo->TotalPsThreadsWindowerRange = 64; + gtSysInfo->CsrSizeInMb = 8; + gtSysInfo->MaxEuPerSubSlice = EHL::maxEuPerSubslice; + gtSysInfo->MaxSlicesSupported = EHL::maxSlicesSupported; + gtSysInfo->MaxSubSlicesSupported = EHL::maxSubslicesSupported; + gtSysInfo->IsL3HashModeEnabled = false; + gtSysInfo->IsDynamicallyPopulated = false; + if (setupFeatureTableAndWorkaroundTable) { + setupFeatureAndWorkaroundTable(hwInfo); + } +}; + const HardwareInfo EHL_1x4x4::hwInfo = { &EHL::platform, &EHL::featureTable, diff --git a/opencl/test/unit_test/gen11/ehl/linux/dll/device_id_tests_ehl.cpp b/opencl/test/unit_test/gen11/ehl/linux/dll/device_id_tests_ehl.cpp index e903c3626d..226a268f82 100644 --- a/opencl/test/unit_test/gen11/ehl/linux/dll/device_id_tests_ehl.cpp +++ b/opencl/test/unit_test/gen11/ehl/linux/dll/device_id_tests_ehl.cpp @@ -14,7 +14,7 @@ using namespace NEO; TEST(EhlDeviceIdTest, supportedDeviceId) { - std::array expectedDescriptors = {{ + std::array expectedDescriptors = {{ {IEHL_1x4x8_SUPERSKU_DEVICE_A0_ID, &EHL_1x4x8::hwInfo, &EHL_1x4x8::setupHardwareInfo, GTTYPE_GT1}, {IEHL_1x2x4_DEVICE_A0_ID, &EHL_1x2x4::hwInfo, &EHL_1x2x4::setupHardwareInfo, GTTYPE_GT1}, {IEHL_1x4x4_DEVICE_A0_ID, &EHL_1x4x4::hwInfo, &EHL_1x4x4::setupHardwareInfo, GTTYPE_GT1}, @@ -22,6 +22,14 @@ TEST(EhlDeviceIdTest, supportedDeviceId) { {IJSL_1x4x4_DEVICE_B0_ID, &EHL_1x4x4::hwInfo, &EHL_1x4x4::setupHardwareInfo, GTTYPE_GT1}, {IJSL_1x4x6_DEVICE_B0_ID, &EHL_1x4x6::hwInfo, &EHL_1x4x6::setupHardwareInfo, GTTYPE_GT1}, {IJSL_1x4x8_DEVICE_B0_ID, &EHL_1x4x8::hwInfo, &EHL_1x4x8::setupHardwareInfo, GTTYPE_GT1}, + {DEV_ID_4541, &EHL_1x2x4::hwInfo, &EHL_1x2x4::setupHardwareInfo, GTTYPE_GT1}, + {DEV_ID_4551, &EHL_1x4x4::hwInfo, &EHL_1x4x4::setupHardwareInfo, GTTYPE_GT1}, + {DEV_ID_4571, &EHL_1x4x8::hwInfo, &EHL_1x4x8::setupHardwareInfo, GTTYPE_GT1}, + {DEV_ID_4555, &EHL_HW_CONFIG::hwInfo, &EHL_HW_CONFIG::setupHardwareInfo, GTTYPE_GT1}, + {DEV_ID_4E51, &EHL_1x4x4::hwInfo, &EHL_1x4x4::setupHardwareInfo, GTTYPE_GT1}, + {DEV_ID_4E61, &EHL_1x4x6::hwInfo, &EHL_1x4x6::setupHardwareInfo, GTTYPE_GT1}, + {DEV_ID_4E71, &EHL_1x4x8::hwInfo, &EHL_1x4x8::setupHardwareInfo, GTTYPE_GT1}, + {DEV_ID_4E55, &EHL_HW_CONFIG::hwInfo, &EHL_HW_CONFIG::setupHardwareInfo, GTTYPE_GT1}, }}; auto compareStructs = [](const DeviceDescriptor *first, const DeviceDescriptor *second) { diff --git a/shared/source/gen11/hw_cmds_ehl.h b/shared/source/gen11/hw_cmds_ehl.h index 0f6a4e1708..ebcc29bbe3 100644 --- a/shared/source/gen11/hw_cmds_ehl.h +++ b/shared/source/gen11/hw_cmds_ehl.h @@ -34,6 +34,15 @@ class EHL_1x2x4 : public EHL { static GT_SYSTEM_INFO gtSystemInfo; }; +class EHL_HW_CONFIG : public EHL { + public: + static void setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable); + static const HardwareInfo hwInfo; + + private: + static GT_SYSTEM_INFO gtSystemInfo; +}; + class EHL_1x4x4 : public EHL { public: static void setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable);