Skip to content

Commit 2ab5903

Browse files
vmustyaigcbot
authored andcommitted
Support PVC-VG platform in VC
.
1 parent 06eb79b commit 2ab5903

File tree

7 files changed

+68
-5
lines changed

7 files changed

+68
-5
lines changed

IGC/VectorCompiler/cmake/supported_platforms_list.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ set(SUPPORTED_VC_PLATFORMS
1616
"XeHPG"
1717
"XeLPG"
1818
"XeHPC"
19+
"XeHPCVG"
1920
)

IGC/VectorCompiler/igcdeps/src/TranslationInterface.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,11 @@ getPlatformName(const PLATFORM &Platform) {
172172
return {"XeLPG", RevId};
173173
break;
174174
case IGFX_XE_HPC_CORE:
175-
if (Product == IGFX_PVC)
175+
if (Product == IGFX_PVC) {
176+
if (GFX_IS_VG_CONFIG(DevId))
177+
return {"XeHPCVG", RevId & ComputeTileMaskPVC};
176178
return {"XeHPC", RevId & ComputeTileMaskPVC};
179+
}
177180
break;
178181
default:
179182
break;

IGC/VectorCompiler/lib/GenXCodeGen/GenX.td

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,32 @@ def : Proc<"XeHPC", [
421421
FeatureThreadPayloadInMemory,
422422
]>;
423423

424+
def : Proc<"XeHPCVG", [
425+
FeatureFP64,
426+
FeatureGRFByteSize64,
427+
FeatureHas8ThreadsPerEU,
428+
FeatureHasAdd3,
429+
FeatureHasBfn,
430+
FeatureHasLSC,
431+
FeatureHasLargeGRF,
432+
FeatureHasMadSimd32,
433+
FeatureHasNamedBarriers,
434+
FeatureHasOWordSLM,
435+
FeatureHasPackedFloat,
436+
FeatureIEEEDivSqrt,
437+
FeatureIndirectGRFCrossing,
438+
FeatureInstr64BitRotate,
439+
FeatureInstrAdd64,
440+
FeatureInstrGlobalAtomicAddF64,
441+
FeatureInstrLocalIntegerCas64,
442+
FeatureLSCMaxWidth32,
443+
FeatureLongLong,
444+
FeaturePartialI64Emulation,
445+
FeatureSLM128K,
446+
FeatureSwitchjmp,
447+
FeatureThreadPayloadInMemory,
448+
]>;
449+
424450
def GenX : Target {
425451
// Nothing here (yet?)
426452
}

IGC/VectorCompiler/lib/GenXCodeGen/GenXSubtarget.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ void GenXSubtarget::initSubtargetFeatures(StringRef CPU, StringRef FS) {
6262
.Case("XeHPG", XeHPG)
6363
.Case("XeLPG", XeLPG)
6464
.Case("XeHPC", XeHPC)
65+
.Case("XeHPCVG", XeHPCVG)
6566
.Default(Invalid);
6667

6768
std::string CPUName(CPU);
@@ -97,8 +98,8 @@ uint32_t GenXSubtarget::getMaxThreadsNumPerSubDevice() const {
9798
case XeHP:
9899
case XeHPG:
99100
case XeLPG:
100-
return 1 << 12;
101101
case XeHPC:
102+
case XeHPCVG:
102103
return 1 << 12;
103104
}
104105
return 0;
@@ -121,7 +122,8 @@ ArrayRef<std::pair<int, int>> GenXSubtarget::getThreadIdReservedBits() const {
121122
static const std::pair<int, int> Bits[] = {{6, 1}, {3, 1}};
122123
return Bits;
123124
}
124-
case GenXSubtarget::XeHPC: {
125+
case GenXSubtarget::XeHPC:
126+
case GenXSubtarget::XeHPCVG: {
125127
// [14:12] Slice ID.
126128
// [11:9] SubSlice ID
127129
// [8] : EUID[2]
@@ -156,7 +158,8 @@ ArrayRef<std::pair<int, int>> GenXSubtarget::getSubsliceIdBits() const {
156158
static const std::pair<int, int> Bits[] = {{8, 6}};
157159
return Bits;
158160
}
159-
case GenXSubtarget::XeHPC: {
161+
case GenXSubtarget::XeHPC:
162+
case GenXSubtarget::XeHPCVG: {
160163
// [14:12] Slice ID.
161164
// [11:9] SubSlice ID
162165
static const std::pair<int, int> Bits[] = {{9, 6}};
@@ -178,7 +181,8 @@ ArrayRef<std::pair<int, int>> GenXSubtarget::getEUIdBits() const {
178181
static const std::pair<int, int> Bits[] = {{4, 2}, {7, 1}};
179182
return Bits;
180183
}
181-
case GenXSubtarget::XeHPC: {
184+
case GenXSubtarget::XeHPC:
185+
case GenXSubtarget::XeHPCVG: {
182186
// [8] : EUID[2]
183187
// [7:6] : Reserved
184188
// [5:4] EUID[1:0]
@@ -220,6 +224,8 @@ TARGET_PLATFORM GenXSubtarget::getVisaPlatform() const {
220224
case XeHPC:
221225
if (!partialI64Emulation())
222226
return TARGET_PLATFORM::Xe_PVC;
227+
LLVM_FALLTHROUGH;
228+
case XeHPCVG:
223229
return TARGET_PLATFORM::Xe_PVCXT;
224230
default:
225231
return TARGET_PLATFORM::GENX_NONE;

IGC/VectorCompiler/lib/GenXCodeGen/GenXSubtarget.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ class GenXSubtarget final : public GenXGenSubtargetInfo {
5656
XeHPG,
5757
XeLPG,
5858
XeHPC,
59+
XeHPCVG,
5960
Invalid,
6061
};
6162

IGC/common/VCPlatformSelector.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ inline const char *getPlatformStr(PLATFORM Platform, unsigned &RevId) {
8383
return "dg2";
8484
case IGFX_PVC:
8585
RevId &= cmc::ComputeTileMaskPVC;
86+
if (GFX_IS_VG_CONFIG(DeviceId))
87+
return "pvc-vg";
8688
if (RevId <= 1)
8789
return "pvc-sdv";
8890
if (RevId == 3)

inc/common/igfxfmid.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,19 @@ typedef enum __NATIVEGTTYPE
723723
// ARL
724724
#define DEV_ID_7D67 0x7D67
725725

726+
// PVC
727+
#define DEV_ID_0BD0 0x0BD0
728+
#define DEV_ID_0BD4 0x0BD4
729+
#define DEV_ID_0BD5 0x0BD5
730+
#define DEV_ID_0BD6 0x0BD6
731+
#define DEV_ID_0BD7 0x0BD7
732+
#define DEV_ID_0BD8 0x0BD8
733+
#define DEV_ID_0BD9 0x0BD9
734+
#define DEV_ID_0BDA 0x0BDA
735+
#define DEV_ID_0BDB 0x0BDB
736+
#define DEV_ID_0B69 0x0B69
737+
#define DEV_ID_0B6E 0x0B6E
738+
726739
#define GFX_IS_DG2_G11_CONFIG(d) ( ( d == DEV_ID_56A5 ) || \
727740
( d == DEV_ID_56A6 ) || \
728741
( d == DEV_ID_5693 ) || \
@@ -758,4 +771,15 @@ typedef enum __NATIVEGTTYPE
758771

759772
#define GFX_IS_ARL_S(d) ( ( d == DEV_ID_7D67 ) )
760773

774+
#define GFX_IS_XT_CONFIG(d) ((d == DEV_ID_0BD5) || \
775+
(d == DEV_ID_0BD6) || \
776+
(d == DEV_ID_0BD7) || \
777+
(d == DEV_ID_0BD8) || \
778+
(d == DEV_ID_0BD9) || \
779+
(d == DEV_ID_0BDA) || \
780+
(d == DEV_ID_0BDB) || \
781+
(d == DEV_ID_0B69) || \
782+
(d == DEV_ID_0B6E))
783+
#define GFX_IS_VG_CONFIG(d) ((d == DEV_ID_0BD4))
784+
761785
#endif

0 commit comments

Comments
 (0)