🤍
😀컴덕123
5개월 전

🗨️ 인텔 애로우레이크-S Xe-LPG+ 탑재

인텔 애로우레이크-S에 Xe-LPG+ 내장 그래픽이 들어갑니다. 

 

Xe-LPG는 메테오레이크의 내장 그래픽이었습니다. 분리된 칩렛 형태로 탑재됐지요. 애로우레이크-S에는 +가 붙었으니 더 개선된 버전이 들어가나 봅니다. 특수한 연산을 처리하는 XMX 유닛을 추가해 XeSS를 강화

 

https://www.coelacanth-dream.com/posts/2023/11/24/intel-arl-xe-lpg-plus/

 

 

INTEL-ARROW-LAKE-XE-LPG-PLUS-1-8.jpg

 

 

 

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));
     }

引用元:https://github.com/intel/intel-graphics-compiler/commit/2998e867d91dec7198b77aa589e82e65c26ad45f#diff-0da9c3c13667e970b792d793469b3cae8569c08353c89c56c7fab4cc1a92cb60

    +bool has64bundleSize2GRFPerBank() const { return getPlatform() == Xe_ARL; }

引用元:https://github.com/intel/intel-graphics-compiler/commit/2998e867d91dec7198b77aa589e82e65c26ad45f#diff-0da9c3c13667e970b792d793469b3cae8569c08353c89c56c7fab4cc1a92cb60

そして、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;
    }

引用元:intel-graphics-compiler/visa/HWCaps.inc at 2998e867d91dec7198b77aa589e82e65c26ad45f · intel/intel-graphics-compiler

    @@ -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
    +    }
0
댓글
0
덕질 비회원은 댓글을 볼 수 없습니다. 로그인을 해주세요.
Deokjil non-members cannot see comments. Please log in.
1 2 3 4 5 6 7 8 9 10
카테고리 즐겨찾기 검색 알림