컴퓨터/노트북/인터넷
IT 컴퓨터 기기를 좋아하는 사람들의 모임방
단축키
Prev이전 문서
Next다음 문서
단축키
Prev이전 문서
Next다음 문서
인텔 애로우레이크-S에 Xe-LPG+ 내장 그래픽이 들어갑니다.
Xe-LPG는 메테오레이크의 내장 그래픽이었습니다. 분리된 칩렛 형태로 탑재됐지요. 애로우레이크-S에는 +가 붙었으니 더 개선된 버전이 들어가나 봅니다. 특수한 연산을 처리하는 XMX 유닛을 추가해 XeSS를 강화
https://www.coelacanth-dream.com/posts/2023/11/24/intel-arl-xe-lpg-plus/
Intel® Graphics Compiler (IGC) にて Arrow Lake のサポートに向けたパッチ、コミットが公開され始めた。
その中で、Arrow Lake GPU は Meteor Lake GPU の Xe-LPG アーキテクチャ をベースに、いくつかの変更を加えた Xe-LPG Plus アーキテクチャ を採用することが示されている。
#define GFX_GMD_ARCH_12_RELEASE_XE_LP_MD (70) #define GFX_GMD_ARCH_12_RELEASE_XE_LP_LG (71) +#define GFX_GMD_ARCH_12_RELEASE_XE_LPG_PLUS_1274 (74) #define GFX_GET_GMD_RELEASE_VERSION_RENDER(p) ((p).sRenderBlockID.GmdID.GMDRelease) #define GFX_GET_GMD_RELEASE_VERSION_DISPLAY(p) ((p).sDisplayBlockID.GmdID.GMDRelease) @@ -719,6 +720,9 @@ typedef enum __NATIVEGTTYPE #define DEV_ID_56C1 0x56C1 #define DEV_ID_56CF 0x56CF +// ARL +#define DEV_ID_7D67 0x7D67 + #define GFX_IS_DG2_G11_CONFIG(d) ( ( d == DEV_ID_56A5 ) || \ ( d == DEV_ID_56A6 ) || \ ( d == DEV_ID_5693 ) || \ @@ -752,4 +756,6 @@ typedef enum __NATIVEGTTYPE ( d == DEV_ID_56B2 ) || \ ( d == DEV_ID_56B3 )) +#define GFX_IS_ARL_S(d) ( ( d == DEV_ID_7D67 ) ) +
引用元:Add ARL functionality · intel/intel-graphics-compiler@27c8082
Xe-LPG Plus
IGC へのパッチから、Arrow Lake GPU の EU 構成は Meteor Lake GPU と基本同じであり、機能面でも Meteor Lake GPU がサポートする機能はカバーしている。その上でいくつかの機能追加、改良がされているように見える。
// 1. Support both sources as ACC for FP MUL // 2. Support Src2 as ACC for FP MAD bool relaxedACCRestrictions3() const { - return false; + return ((getPlatform() == Xe_ARL || getPlatform() >= Xe2) && + !getOption(vISA_disableSrc2AccSub)); }
+bool has64bundleSize2GRFPerBank() const { return getPlatform() == Xe_ARL; }
そして、Arrow Lake GPU は Meteor Lake GPU と異なり、XMX (Xe Matrix eXtension) ユニットを搭載し、行列積和演算命令、DPAS (Dot Product Accumulate Systolic)
をサポートすると思われる。
hasDPAS()
内の判定に Xe_ARL
を除外するような変更はされておらず、また Xe_ARL
における DPAS
命令のレイテンシ情報が追加されているからだ。
DPAS
命令、XMX ユニットは Xe-HPG アーキテクチャ の場合、FP16/BF16/INT8/INT4/INT2 のデータフォーマットに対応しており、Arrow Lake GPU でも同様だろう。
Meteor Lake GPU が XMX ユニットを搭載しなかったことについては、ダイサイズの削減や、XeSS (Xe Super Sampling) は XMX ユニットが無くても実行可能であることが理由として考えられる。
しかし、Arrow Lake GPU では XMX ユニットを搭載する判断をしたようだ。
Arrow Lake の Graphics Tile の製造プロセスはまだ不明だが、製造プロセスの変更等により搭載してもダイサイズがそれほど問題にならなくなったのか、XeSS を用いたゲームにおける性能を重視したのかもしれない。
bool hasDPAS() const { return getPlatform() >= Xe_XeHPSDV && getPlatform() != Xe_MTL; }
@@ -288,10 +290,36 @@ LatencyTableXe<PlatformGen::XE>::getDPASLatency(uint8_t repeatCount) const { default: return 32; } + case Xe_ARL: + switch (repeatCount) { + case 1: + return 21; + case 2: + return 22; + case 8: { + if (m_builder.has4DeepSystolic()) { + return 32; + } + return 46; + } + default: + return 22; // Conservative cycle + }