mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Base hwInfo values setup for AOT
In most cases, there was code redundancy, which was minimized in this change. The setupHardwareInfoBase extraction will also be used for ocloc. Signed-off-by: Daria Hinz <daria.hinz@intel.com> Related-To: NEO-6910
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
ee4a177296
commit
de74becdb8
@@ -23,6 +23,7 @@ struct EHL : public ICLFamily {
|
||||
static const RuntimeCapabilityTable capabilityTable;
|
||||
static void (*setupHardwareInfo)(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, uint64_t hwInfoConfig);
|
||||
static void setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo);
|
||||
static void setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable);
|
||||
};
|
||||
|
||||
class EHL_HW_CONFIG : public EHL {
|
||||
|
||||
@@ -23,6 +23,7 @@ struct ICLLP : public ICLFamily {
|
||||
static const RuntimeCapabilityTable capabilityTable;
|
||||
static void (*setupHardwareInfo)(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, uint64_t hwInfoConfig);
|
||||
static void setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo);
|
||||
static void setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable);
|
||||
};
|
||||
|
||||
class ICLLP_1x8x8 : public ICLLP {
|
||||
|
||||
@@ -23,6 +23,7 @@ struct LKF : public ICLFamily {
|
||||
static const RuntimeCapabilityTable capabilityTable;
|
||||
static void (*setupHardwareInfo)(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, uint64_t hwInfoConfig);
|
||||
static void setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo);
|
||||
static void setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable);
|
||||
};
|
||||
class LKF_1x8x8 : public LKF {
|
||||
public:
|
||||
|
||||
@@ -124,21 +124,9 @@ void EHL::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
|
||||
workaroundTable->flags.waReportPerfCountUseGlobalContextID = true;
|
||||
};
|
||||
|
||||
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) {
|
||||
void EHL::setupHardwareInfoBase(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;
|
||||
@@ -150,9 +138,29 @@ void EHL_HW_CONFIG::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTab
|
||||
gtSysInfo->MaxSubSlicesSupported = EHL::maxSubslicesSupported;
|
||||
gtSysInfo->IsL3HashModeEnabled = false;
|
||||
gtSysInfo->IsDynamicallyPopulated = false;
|
||||
|
||||
if (setupFeatureTableAndWorkaroundTable) {
|
||||
setupFeatureAndWorkaroundTable(hwInfo);
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
EHL::setupHardwareInfoBase(hwInfo, setupFeatureTableAndWorkaroundTable);
|
||||
|
||||
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
|
||||
gtSysInfo->SliceCount = 1;
|
||||
gtSysInfo->L3CacheSizeInKb = 1280;
|
||||
gtSysInfo->L3BankCount = 4;
|
||||
gtSysInfo->MaxFillRate = 8;
|
||||
};
|
||||
|
||||
const HardwareInfo EHL::hwInfo = EHL_HW_CONFIG::hwInfo;
|
||||
|
||||
@@ -125,6 +125,26 @@ void ICLLP::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
|
||||
workaroundTable->flags.waReportPerfCountUseGlobalContextID = true;
|
||||
};
|
||||
|
||||
void ICLLP::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
|
||||
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
|
||||
gtSysInfo->ThreadCount = gtSysInfo->EUCount * ICLLP::threadsPerEu;
|
||||
gtSysInfo->TotalHsThreads = 224;
|
||||
gtSysInfo->TotalGsThreads = 224;
|
||||
gtSysInfo->TotalVsThreads = 336;
|
||||
gtSysInfo->TotalDsThreads = 336;
|
||||
gtSysInfo->TotalPsThreadsWindowerRange = 128;
|
||||
gtSysInfo->CsrSizeInMb = 5;
|
||||
gtSysInfo->MaxEuPerSubSlice = ICLLP::maxEuPerSubslice;
|
||||
gtSysInfo->MaxSlicesSupported = ICLLP::maxSlicesSupported;
|
||||
gtSysInfo->MaxSubSlicesSupported = ICLLP::maxSubslicesSupported;
|
||||
gtSysInfo->IsL3HashModeEnabled = false;
|
||||
gtSysInfo->IsDynamicallyPopulated = false;
|
||||
|
||||
if (setupFeatureTableAndWorkaroundTable) {
|
||||
setupFeatureAndWorkaroundTable(hwInfo);
|
||||
}
|
||||
}
|
||||
|
||||
const HardwareInfo ICLLP_1x8x8::hwInfo = {
|
||||
&ICLLP::platform,
|
||||
&ICLLP::featureTable,
|
||||
@@ -135,26 +155,16 @@ const HardwareInfo ICLLP_1x8x8::hwInfo = {
|
||||
|
||||
GT_SYSTEM_INFO ICLLP_1x8x8::gtSystemInfo = {0};
|
||||
void ICLLP_1x8x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
|
||||
ICLLP::setupHardwareInfoBase(hwInfo, setupFeatureTableAndWorkaroundTable);
|
||||
|
||||
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
|
||||
gtSysInfo->ThreadCount = gtSysInfo->EUCount * ICLLP::threadsPerEu;
|
||||
gtSysInfo->SliceCount = 1;
|
||||
gtSysInfo->L3CacheSizeInKb = 3072;
|
||||
gtSysInfo->L3BankCount = 8;
|
||||
gtSysInfo->MaxFillRate = 16;
|
||||
gtSysInfo->TotalVsThreads = 336;
|
||||
gtSysInfo->TotalHsThreads = 336;
|
||||
gtSysInfo->TotalDsThreads = 336;
|
||||
gtSysInfo->TotalGsThreads = 336;
|
||||
gtSysInfo->TotalPsThreadsWindowerRange = 64;
|
||||
gtSysInfo->CsrSizeInMb = 5;
|
||||
gtSysInfo->MaxEuPerSubSlice = ICLLP::maxEuPerSubslice;
|
||||
gtSysInfo->MaxSlicesSupported = ICLLP::maxSlicesSupported;
|
||||
gtSysInfo->MaxSubSlicesSupported = ICLLP::maxSubslicesSupported;
|
||||
gtSysInfo->IsL3HashModeEnabled = false;
|
||||
gtSysInfo->IsDynamicallyPopulated = false;
|
||||
if (setupFeatureTableAndWorkaroundTable) {
|
||||
setupFeatureAndWorkaroundTable(hwInfo);
|
||||
}
|
||||
};
|
||||
|
||||
const HardwareInfo ICLLP_1x4x8::hwInfo = {
|
||||
@@ -167,27 +177,15 @@ const HardwareInfo ICLLP_1x4x8::hwInfo = {
|
||||
|
||||
GT_SYSTEM_INFO ICLLP_1x4x8::gtSystemInfo = {0};
|
||||
void ICLLP_1x4x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
|
||||
ICLLP::setupHardwareInfoBase(hwInfo, setupFeatureTableAndWorkaroundTable);
|
||||
|
||||
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
|
||||
gtSysInfo->ThreadCount = gtSysInfo->EUCount * ICLLP::threadsPerEu;
|
||||
gtSysInfo->SliceCount = 1;
|
||||
gtSysInfo->L3CacheSizeInKb = 2304;
|
||||
gtSysInfo->L3BankCount = 6;
|
||||
gtSysInfo->MaxFillRate = 8;
|
||||
gtSysInfo->TotalVsThreads = 364;
|
||||
gtSysInfo->TotalHsThreads = 224;
|
||||
gtSysInfo->TotalDsThreads = 364;
|
||||
gtSysInfo->TotalGsThreads = 224;
|
||||
gtSysInfo->TotalPsThreadsWindowerRange = 128;
|
||||
gtSysInfo->CsrSizeInMb = 5;
|
||||
gtSysInfo->MaxEuPerSubSlice = ICLLP::maxEuPerSubslice;
|
||||
gtSysInfo->MaxSlicesSupported = ICLLP::maxSlicesSupported;
|
||||
gtSysInfo->MaxSubSlicesSupported = ICLLP::maxSubslicesSupported;
|
||||
gtSysInfo->IsL3HashModeEnabled = false;
|
||||
gtSysInfo->IsDynamicallyPopulated = false;
|
||||
if (setupFeatureTableAndWorkaroundTable) {
|
||||
setupFeatureAndWorkaroundTable(hwInfo);
|
||||
}
|
||||
};
|
||||
|
||||
const HardwareInfo ICLLP_1x6x8::hwInfo = {
|
||||
&ICLLP::platform,
|
||||
&ICLLP::featureTable,
|
||||
@@ -198,26 +196,13 @@ const HardwareInfo ICLLP_1x6x8::hwInfo = {
|
||||
|
||||
GT_SYSTEM_INFO ICLLP_1x6x8::gtSystemInfo = {0};
|
||||
void ICLLP_1x6x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
|
||||
ICLLP::setupHardwareInfoBase(hwInfo, setupFeatureTableAndWorkaroundTable);
|
||||
|
||||
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
|
||||
gtSysInfo->ThreadCount = gtSysInfo->EUCount * ICLLP::threadsPerEu;
|
||||
gtSysInfo->SliceCount = 1;
|
||||
gtSysInfo->L3CacheSizeInKb = 2304;
|
||||
gtSysInfo->L3BankCount = 6;
|
||||
gtSysInfo->MaxFillRate = 8;
|
||||
gtSysInfo->TotalVsThreads = 364;
|
||||
gtSysInfo->TotalHsThreads = 224;
|
||||
gtSysInfo->TotalDsThreads = 364;
|
||||
gtSysInfo->TotalGsThreads = 224;
|
||||
gtSysInfo->TotalPsThreadsWindowerRange = 128;
|
||||
gtSysInfo->CsrSizeInMb = 5;
|
||||
gtSysInfo->MaxEuPerSubSlice = ICLLP::maxEuPerSubslice;
|
||||
gtSysInfo->MaxSlicesSupported = ICLLP::maxSlicesSupported;
|
||||
gtSysInfo->MaxSubSlicesSupported = ICLLP::maxSubslicesSupported;
|
||||
gtSysInfo->IsL3HashModeEnabled = false;
|
||||
gtSysInfo->IsDynamicallyPopulated = false;
|
||||
if (setupFeatureTableAndWorkaroundTable) {
|
||||
setupFeatureAndWorkaroundTable(hwInfo);
|
||||
}
|
||||
};
|
||||
|
||||
const HardwareInfo ICLLP::hwInfo = ICLLP_1x8x8::hwInfo;
|
||||
|
||||
@@ -124,21 +124,9 @@ void LKF::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
|
||||
workaroundTable->flags.waReportPerfCountUseGlobalContextID = true;
|
||||
};
|
||||
|
||||
const HardwareInfo LKF_1x8x8::hwInfo = {
|
||||
&LKF::platform,
|
||||
&LKF::featureTable,
|
||||
&LKF::workaroundTable,
|
||||
&LKF_1x8x8::gtSystemInfo,
|
||||
LKF::capabilityTable,
|
||||
};
|
||||
GT_SYSTEM_INFO LKF_1x8x8::gtSystemInfo = {0};
|
||||
void LKF_1x8x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
|
||||
void LKF::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
|
||||
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
|
||||
gtSysInfo->ThreadCount = gtSysInfo->EUCount * LKF::threadsPerEu;
|
||||
gtSysInfo->SliceCount = 1;
|
||||
gtSysInfo->L3CacheSizeInKb = 2560;
|
||||
gtSysInfo->L3BankCount = 8;
|
||||
gtSysInfo->MaxFillRate = 16;
|
||||
gtSysInfo->TotalVsThreads = 448;
|
||||
gtSysInfo->TotalHsThreads = 448;
|
||||
gtSysInfo->TotalDsThreads = 448;
|
||||
@@ -150,9 +138,29 @@ void LKF_1x8x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAn
|
||||
gtSysInfo->MaxSubSlicesSupported = LKF::maxSubslicesSupported;
|
||||
gtSysInfo->IsL3HashModeEnabled = false;
|
||||
gtSysInfo->IsDynamicallyPopulated = false;
|
||||
|
||||
if (setupFeatureTableAndWorkaroundTable) {
|
||||
setupFeatureAndWorkaroundTable(hwInfo);
|
||||
}
|
||||
}
|
||||
|
||||
const HardwareInfo LKF_1x8x8::hwInfo = {
|
||||
&LKF::platform,
|
||||
&LKF::featureTable,
|
||||
&LKF::workaroundTable,
|
||||
&LKF_1x8x8::gtSystemInfo,
|
||||
LKF::capabilityTable,
|
||||
};
|
||||
GT_SYSTEM_INFO LKF_1x8x8::gtSystemInfo = {0};
|
||||
void LKF_1x8x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
|
||||
LKF::setupHardwareInfoBase(hwInfo, setupFeatureTableAndWorkaroundTable);
|
||||
|
||||
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
|
||||
gtSysInfo->ThreadCount = gtSysInfo->EUCount * LKF::threadsPerEu;
|
||||
gtSysInfo->SliceCount = 1;
|
||||
gtSysInfo->L3CacheSizeInKb = 2560;
|
||||
gtSysInfo->L3BankCount = 8;
|
||||
gtSysInfo->MaxFillRate = 16;
|
||||
};
|
||||
|
||||
const HardwareInfo LKF::hwInfo = LKF_1x8x8::hwInfo;
|
||||
|
||||
Reference in New Issue
Block a user