TECHARTNOMAD | TECHARTFLOWIO.COM

TECH.ART.FLOW.IO

The Snapdragon X Elite’s Adreno iGPU

jplee 2025. 2. 2. 02:02
역자 주 : 이 기사는 Chips And Cheese 에 게시 된 CHESTER LAM 의 The Snapdragon X Elite’s Adreno iGPU 에 대한 최신 글을 번역하고 각주를 추가 했거나 추가 설명 및 문맥 개정을 한 번역본 입니다.

퀄컴은 통합 그래픽 분야에서 결코 초보자가 아닙니다. 그들의 아드레노 GPU 라인은 스냅드래곤 모바일 SoC의 여러 세대를 거쳐 서비스를 제공해 왔습니다. 하지만 퀄컴은 모바일 시장에만 안주하지 않고, 더 높은 전력과 성능 영역으로 진출하려는 야망을 품어왔습니다. 오늘날, 그들의 스냅드래곤 X 엘리트는 노트북 시장을 겨냥하고 있습니다. 아드레노는 이와 함께 인텔의 미티어 레이크의 Xe-LPG iGPU나 AMD의 피닉스의 RDNA 3 iGPU와 같은 경쟁자들이 포진해 있는 고성능 시장으로 진출하게 되었습니다.

공식적으로 퀄컴은 스냅드래곤 X 엘리트의 iGPU를 아드레노 X1이라고 부릅니다. 이는 과거의 아드레노 nxx 명명 규칙에서 벗어난 깔끔한 마케팅 이름입니다. 이전 명명 체계에서 n은 아키텍처 세대를 나타내고, xx의 더 큰 값은 해당 세대 내에서 더 큰 규모의 구현을 의미했습니다. 퀄컴은 내부적으로 여전히 이 명명 체계를 사용하고 있을 수 있는데, 드라이버에서 GPU를 아드레노 741로 지칭하기 때문입니다. 아드레노 741이라는 명칭은 스냅드래곤 X 엘리트의 iGPU가 이전 스냅드래곤 8+ Gen 1 스마트폰 칩에서 테스트된 아드레노 730의 확장 버전임을 시사합니다.

dxdiag는 GPU 이름을 "아드레노 741"로 보고합니다.

간단히 스냅드래곤 X 엘리트의 GPU를 아드레노 X1이라고 부르도록 하겠습니다. 테스트는 삼성 갤럭시 북4 엣지에서 진행되었습니다. 비교 데이터를 위해 인텔의 코어 울트라 7 155H 미티어 레이크 칩은 아수스 젠북 14에서 테스트했습니다. AMD의 피닉스는 몇 가지 다른 구성으로 테스트되었는데, 라이젠 Z1 익스트림은 ROG 얼라이에서, 라이젠 7840HS는 HP Z북 파이어플라이 14 G10 A에서 테스트했습니다.

각 회사의 GPU 아키텍처를 자세히 살펴보기 위해, Clam이 작성한 OpenCL 테스트와 Nemes가 작성한 Vulkan 기반 테스트를 함께 사용할 것입니다. 후자는 윈도우에서 퀄컴의 OpenCL 구현이 때때로 문제를 일으킬 수 있기 때문에 유용합니다. 또한 이미지에 워터마크를 적극적으로 표시하도록 상기시켜 준 다른 사이트들에도 감사드립니다.

감사의 말씀

삼성 갤럭시 북4 엣지 16인치 노트북을 구매하여 이 기사의 데이터를 수집할 수 있도록 도와주신 모든 패트리온 회원분들과 페이팔 후원자분들께 감사드립니다. 여러분의 도움이 없었다면 이 기사는 불가능했을 것이며, 모든 분들께 진심으로 감사드립니다.

개요

퀄컴은 아드레노 7xx 아키텍처를 확장하고 클록 속도를 높임으로써 더 높은 사양의 PC 게임에 도전하고자 합니다. 아드레노 X1은 최상위 스냅드래곤 X 엘리트 SKU에서 최대 1.5GHz까지 동작할 수 있지만, 우리가 테스트하는 SKU에서는 1.25GHz로 제한됩니다. 1.25GHz는 스냅드래곤 8+ Gen 1의 아드레노 730이 구동되던 900MHz보다 여전히 훨씬 높은 수치입니다.

GPU를 더 강력하고 빠르게 만드는 것을 넘어서, 퀄컴은 GPU에 원활하게 데이터를 공급하기 위해 메모리 서브시스템의 다양한 부분을 개선했습니다. 캐시의 용량이 더 커졌고 대역폭도 향상되었습니다. 새로운 중간 레벨 클러스터 캐시가 도입되어 4단계 캐시 구조가 만들어졌습니다. 이 모든 것은 최대 64GB DRAM 용량을 지원하는 128비트 LPDDR5X 메모리 컨트롤러를 통해 공급됩니다.

인텔 미티어 레이크의 Xe-LPG iGPU는 더 단순한 2단계 캐시 계층 구조를 가지고 있지만, 각 레벨에서 더 큰 캐시 용량을 보유하고 있습니다. 아드레노 X1이 1536개의 FP32 유닛을 갖춘 상대적으로 넓은 iGPU인 반면, 미티어 레이크는 1024개의 FP32 유닛을 50% 더 높은 클럭으로 구동합니다. 이론적인 FP32 처리량은 결과적으로 아드레노 X1과 매우 비슷한 수준에 도달합니다.

아드레노 X1의 쉐이더 프로세서

아드레노는 쉐이더 프로세서(SP)로 구성되어 있으며, 각 SP는 두 개의 마이크로 쉐이더 프로세서 텍스처 프로세서(uSPTP)를 포함하고 있습니다. uSPTP는 AMD의 RDNA 라인의 컴퓨트 유닛(CU) 서브디비전과 가장 유사하게 비교될 수 있습니다. 두 구조 모두 자체 텍스처 유닛과 텍스처 캐시를 보유하고 있으며, 두 개의 스케줄러 파티션으로 더 세분화됩니다. 이러한 구조는 SP를 RDNA WGP(워크그룹 프로세서)와 매우 유사한 레이아웃으로 만듭니다. 또한 맥스웰과 파스칼에서 구현된 엔비디아의 스트리밍 멀티프로세서와도 유사합니다.

퀄컴의 이전 아드레노 730은 실행 유닛을 동일한 방식으로 구성합니다. 각 스케줄러 파티션은 64-와이드 FP32 유닛을 가지며 FP16 연산을 두 배 속도로 실행할 수 있습니다. 8개의 특수 기능 유닛이 제곱근의 역수와 같은 복잡한 연산을 처리합니다.

GPU는 광범위한 벡터 및 스레드 레벨 병렬 처리를 효율적으로 활용하여 실행 유닛의 지속적인 운용을 최적화합니다. 아드레노 X1은 64-와이드 또는 128-와이드 벡터(웨이브) 아키텍처를 채택하고 있습니다. 이는 AMD RDNA GPU의 wave32/wave64 듀얼 모드, 엔비디아의 wave32 전용 방식, 그리고 인텔의 wave32 가변 구조와 차별화됩니다. 웨이브 크기가 증가하면 GPU의 단일 스레드당 작업 추적 능력이 향상되나, 분기 처리 시 성능 저하의 위험이 수반됩니다. 마이크로벤치마크 분석 결과에 따르면, 이전 세대 아드레노 730은 wave64 모드를 채택한 것으로 확인되었습니다.

웨이브 크기가 증가하면 레지스터 파일의 리소스 사용량도 그에 비례하여 증가합니다. 각 레지스터는 전체 웨이브 크기에 해당하는 공간을 점유하게 됩니다. 아드레노 X1은 쉐이더 프로그램을 64개 또는 128개 단위로 병렬 처리하는데, 이때 32비트 변수는 실제로 64개 또는 128개의 개별 32비트 값으로 확장되어 각 쉐이더 인스턴스의 데이터를 저장합니다. 레지스터 파일의 할당은 쉐이더 프로그램의 레지스터 요구사항에 따라 유동적으로 이루어집니다. 따라서 복잡한 쉐이더 프로그램이 다수의 레지스터를 필요로 할 경우, 가용 레지스터 파일 용량에 따라 동시 실행 가능한 쉐이더 인스턴스의 수가 제한될 수 있습니다.

퀄컴은 아드레노 X1의 하드웨어 사양에 대해 제한적인 정보만을 공개했으나, 주목할 만한 점은 각 uSPTP에 192KB의 레지스터 파일이 탑재되어 있다는 것입니다. 이는 각 스케줄러 파티션에 96KB의 레지스터가 할당됨을 의미하며, 이전 세대 아드레노 730의 64KB 대비 50%의 용량 증가를 보여줍니다.

하드웨어가 레지스터를 순차적으로 할당하며, 로컬 메모리 제약이 없는 상황을 가정한 단순화된 도식

레지스터 파일의 용량이 증가했음에도 불구하고, 아드레노 X1은 많은 레지스터를 사용하는 쉐이더에서 지연 시간을 숨기는 데 어려움을 겪을 수 있습니다. RDNA 3의 하위 모델조차도 128KB의 레지스터 파일을 보유하고 있습니다. 엔비디아는 파스칼, 암페어, 에이다에서 64KB의 더 작은 레지스터 파일을 사용하지만, 더 작은 wave32 벡터 덕분에 wave64 모드의 RDNA 3와 비슷한 수준의 점유율을 달성할 수 있습니다.

인텔은 레지스터 파일 용량을 동적으로 할당하지 않습니다. 각 Xe 벡터 엔진은 32KB의 레지스터 파일을 가지며 항상 8개의 진행 중인 웨이브로 제한됩니다. 각 웨이브는 4KB의 레지스터를 할당받으며, 이는 컴파일러의 상태에 따라 128개의 wave8 레지스터, 32개의 wave32 레지스터 또는 다른 여러 조합으로 처리될 수 있습니다.

아드레노 X1의 연산 처리량은 인텔의 미티어 레이크 iGPU와 매우 경쟁력 있는 수준입니다. 퀄컴은 더 낮은 클럭 속도로 구동되지만, 매우 넓은 실행 유닛으로 이를 보완합니다. 다만 미티어 레이크는 제곱근의 역수와 같은 복잡한 연산에서 우위를 보입니다. AMD의 피닉스는 모든 측면에서 앞서가는 접근 방식을 취합니다. 높은 클럭 속도를 가지고 있으며, 듀얼 이슈 또는 wave64 모드를 통해 공급되는 다수의 FP32 유닛과 6개의 WGP를 보유하고 있습니다. 따라서 AMD는 FP32 처리량에서 큰 우위를, 다른 영역에서는 작은 우위를 가집니다. 하지만 퀄컴은 2배 속도의 FP16 실행 덕분에 FP16에서는 경쟁력을 유지할 수 있습니다. 퀄컴 하드웨어는 FP64를 지원하지 않기 때문에 위 그래프에서는 제외되었습니다.

제곱근의 역수(reciprocal square root)는 수학적 연산으로, 어떤 수의 제곱근을 구한 후 그 값의 역수를 계산하는 것입니다. 예를 들어, 16의 제곱근의 역수는 다음과 같이 계산됩니다: 16의 제곱근 = 4 4의 역수 = 1/4 = 0.25 이 연산은 3D 그래픽스와 게임 엔진에서 벡터 정규화 등의 계산에 자주 사용되는 중요한 연산입니다.

정수 연산 또한 매우 일반적입니다. 아드레노 X1은 기본적인 INT32 덧셈에서 저조한 성능을 보입니다. 아드레노 730은 OpenCL을 통해 테스트했을 때 INT32 덧셈을 잘 처리했기에, Vulkan에서 무슨 일이 일어나고 있는지 확실치 않습니다. 퀄컴은 곱셈이나 나머지 연산과 같은 더 복잡한 INT32 연산에서는 비교적 양호한 성능을 보입니다. 아드레노 X1의 INT64 성능은 평범한 수준에서 매우 저조한 수준까지 다양합니다.

캐시와 메모리 접근

DRAM 성능은 연산 성능의 발전 속도를 따라가지 못하고 있으며, 이는 GPU와 CPU 모두에 해당됩니다. 통합 GPU는 전력과 발열 제약으로 인해 독립형 GPU만큼의 연산 능력을 갖출 수는 없지만, 우수한 성능을 유지하기 위해서는 여전히 효율적인 캐시 구성이 필요합니다.

아드레노 X1의 메모리 접근은 먼저 각 uSPTP에 할당된 2KB의 텍스처 캐시를 확인합니다. 이전 아드레노 GPU는 2013년의 아드레노 330까지 거슬러 올라가 1KB의 텍스처 캐시를 사용했습니다. 한편으로는 퀄컴이 L1 캐시 용량을 두 배로 늘린 것은 칭찬할 만하지만, 다른 한편으로는 여전히 가장 작은 L1 캐시를 보유하고 있습니다. 지연 시간은 RDNA 3와 인텔의 Xe-LPG의 훨씬 더 큰 1차 캐시들보다 약간 더 좋지 않습니다.

L1 캐시는 GPU의 메모리 계층 구조에서 가장 첫 번째 단계로, 아드레노 X1의 경우 각 uSPTP에 2KB의 텍스처 캐시를 두어 메모리 접근을 처리합니다. 이는 텍스처 데이터에 대한 빠른 접근을 제공하여 그래픽 성능을 향상시키는 역할을 합니다.
하지만 아드레노 아키텍처의 특징적인 점은 컴퓨트 작업의 경우 L1 캐시를 우회하고 바로 다음 단계의 캐시로 진행한다는 것입니다. 이는 AMD, 엔비디아, 인텔의 현대 GPU 아키텍처들이 상당한 용량의 범용 1차 캐시를 사용하는 것과는 다른 접근 방식입니다.

Nemes의 Vulkan 테스트는 128MB보다 큰 테스트 크기를 처리하지 못했습니다. image1d_buffer_t 접근을 사용하는 OpenCL에도 비슷한 제한이 적용됩니다.

아드레노 X1의 1차 캐시 대역폭은 약 1 TB/s의 처리 능력을 제공하며, 이는 엔비디아의 GTX 1050 3GB와 비교했을 때 근소한 차이로 낮은 수준입니다. 현재 시장의 최신 통합 GPU들이 1차 캐시에서 보여주는 대역폭과 비교하면 개선의 여지가 있으나, 이전 세대인 아드레노 730과 비교하면 주목할 만한 성능 향상을 달성했습니다.

성능 측정을 위해 OpenCL의 image1d_buffer_t/read_imageui 접근 방식을 통한 텍스처 캐시 벤치마크를 실시했습니다.

아드레노의 전통에 따라, 아드레노 X1의 1차 캐시는 전용 텍스처 캐시입니다. 연산 접근은 L1을 우회하여 캐시 계층의 다음 단계로 직접 이동합니다. 이는 상당한 용량의 범용 1차 캐시를 갖춘 현재의 AMD, 엔비디아, 인텔 GPU 아키텍처들과는 매우 다른 방식입니다. 이전 아드레노 세대에서는 GPU 전체의 L2 캐시가 모든 연산 접근을 처리해야 했습니다. 아드레노 X1은 128KB의 클러스터 캐시를 추가함으로써 L2에 가해지는 부담을 줄였습니다.

구조적으로, 클러스터 캐시는 AMD의 RDNA 라인의 L1 중간 레벨 캐시와 유사한 구성을 보입니다. 두 시스템 모두 GPU 코어 클러스터 전체에서 공유되는 특징을 가지고 있습니다. 그러나 아드레노 X1의 클러스터 캐시는 보다 핵심적인 기능을 담당합니다. 이는 RDNA 3가 256KB L1 캐시의 상위 계층에서 더 효율적인 캐싱 메커니즘을 구현하고 있기 때문입니다. OpenCL 환경에서 클러스터 캐시 내 포인터 추적 시 56.62ns의 지연이 발생하며, 이는 Vulkan의 67ns 대비 개선된 수치를 나타냅니다. 이러한 성능 향상은 2KB 텍스처 캐시 검증 과정을 생략함으로써 달성된 것으로 분석됩니다. 결과적으로 퀄컴의 클러스터 캐시는 AMD의 L1 캐시와 대등한 지연 시간 성능을 달성하고 있습니다.

컴퓨팅 작업 시에는 텍스처 캐시에 대한 적중이 발생하지 않습니다. OpenCL image1d_buffer_t 접근 방식은 캐시 적중이 가능하며, Vulkan과 동일하게 128MB의 용량 제한이 적용됩니다.

하지만 클러스터 캐시는 AMD의 L1보다 더 많은 트래픽을 처리해야 하는 부담을 안고 있어 성능 면에서 아쉬움이 남습니다. 특히 이는 RDNA 3의 L1 캐시가 두 배의 용량을 제공하는 것과 대조적입니다. 클러스터 캐시가 처리해야 하는 워크로드의 양과 복잡성을 고려할 때, 더 높은 성능과 효율성을 기대했었지만 현재 구현에서는 이러한 기대를 완전히 충족시키지 못하고 있습니다.

아드레노 X1은 세 개의 클러스터 캐시 인스턴스를 통해 총 384KB의 캐시 용량을 제공하며, 이는 AMD의 512KB L1 캐시와 비교할 수 있습니다. 퀄컴이 세 개의 클러스터 캐시 인스턴스를 채택한 것은 대역폭 요구사항을 효율적으로 분산시키기 위한 전략으로 보입니다. 그러나 Vulkan 벤치마크 결과, 실제 대역폭 성능은 AMD와 인텔의 iGPU 대비 현저히 낮은 수준을 보여주었습니다. 주목할 만한 점은 클러스터 캐시가 이론상 더 빠른 접근 속도를 제공해야 함에도 불구하고, 실제 테스트에서 L2 캐시보다 우수한 대역폭을 달성하지 못했다는 것입니다.

AMD의 피닉스와 인텔의 미티어 레이크는 비교적 매우 높은 캐시 대역폭을 자랑합니다. AMD와 인텔의 대역폭 우위는 매우 극단적이어서, 이들의 측정된 L2 대역폭이 아드레노 X1의 L1 텍스처 캐시 대역폭을 초과합니다. 다만 퀄컴은 6MB 시스템 레벨 캐시(SLC)덕분에 더 큰 테스트 크기에서 이점을 가지고 있습니다. SLC는 약 211 GB/s의 대역폭을 제공합니다.

캐시 친화적이지 않은 접근의 경우, 퀄컴은 매우 빠른 LPDDR5X의 이점을 누립니다. 스냅드래곤 X 엘리트는 여기서 테스트된 다른 어떤 칩보다도 더 높은 이론상 대역폭을 보유하고 있습니다. 테스트 결과도 이를 입증하며, 미티어 레이크 대비 12.3%의 대역폭 우위를 보여줍니다.

캐시 친화적이지 않은 사례는 메모리에서 연속적이지 않은 임의 접근이나 대용량 데이터를 순차적으로 읽을 때 발생합니다. 예를 들어 텍스처 샘플링, 레이 트레이싱의 메모리 접근, 또는 대규모 데이터셋을 처리하는 머신 러닝 워크로드 등이 있습니다. 이러한 경우 캐시의 효과가 제한적이어서 주 메모리의 대역폭이 성능에 직접적인 영향을 미치게 됩니다.

Vulkan 메모리 대역폭 테스트는 서로 다른 테스트 크기에서 최대치에 도달합니다

스마트폰 칩은 전통적으로 매우 제한된 메모리 대역폭을 가지고 있었습니다. OEM 업체들이 고속 메모리 칩을 사용하고자 했더라도, 좁은 버스 폭으로 인해 사용 가능한 대역폭이 노트북보다 훨씬 낮은 경우가 많았습니다. 스냅드래곤 X 엘리트의 128비트 메모리 버스는 이러한 상황을 뒤집어 놓았습니다. 이제 퀄컴은 경쟁사들보다 약간의 대역폭 우위를 점하게 되었습니다.

로컬 메모리 (GMEM)

아드레노는 효율적인 타일드 렌더링 아키텍처를 채택하고 있습니다. 이 시스템에서는 디스플레이가 개별 타일로 세분화되며, 하드웨어가 각 타일 내 가시적 프리미티브를 식별하여 "가시성 스트림" 데이터를 메모리에 저장합니다. 렌더링 프로세스는 순차적으로 각 타일을 처리하며, 타일별 렌더 타겟은 GMEM이라는 전용 온칩 메모리에 할당됩니다. GMEM을 활용한 렌더링 방식은 캐시 계층의 효율성을 유지하고 메모리 대역폭 소비를 최적화합니다. 이러한 접근 방식은 제한된 전력 및 메모리 리소스 환경에서 래스터화 파이프라인의 성능을 극대화합니다. 또한 GMEM은 일반 캐시와 달리 태그 및 상태 배열이 불필요하여, 동등한 용량의 캐시 대비 전력 소비와 실리콘 면적을 절감할 수 있습니다.

타일드 렌더링은 프리미티브 정보가 하드웨어에 직접적으로 제공되지 않는 특성으로 인해 컴퓨트 및 레이트레이싱 작업에 활용될 수 없는 제약이 있습니다. 아드레노 X1은 이전 모델인 아드레노 730의 2MB GMEM 용량을 확장하여 3MB의 GMEM을 탑재하였습니다. 이러한 상당한 메모리 자원을 컴퓨트 및 레이트레이싱 연산에서 미활용 상태로 두는 것은 비효율적일 수 있으므로, 퀄컴은 이를 로컬 메모리 또는 컬러/깊이 캐시로서 효과적으로 재할당할 수 있는 방안을 구현하였습니다.

GMEM을 로컬 메모리로 활용할 경우, 매우 효율적인 지연 시간 성능을 제공합니다. 현재 세대의 AMD와 인텔 iGPU와 비교 시 지연 시간이 근소하게 높은 수준을 유지하며, 이는 이전 세대인 스냅드래곤 8+ Gen 1의 아드레노 730과 유사한 수준입니다. 퀄컴이 GMEM을 로컬 메모리 할당에 지속적으로 활용했을 가능성이 있으나, 현재 소프트웨어 분석으로는 이를 명확히 검증하기 어렵습니다.

이와 대조적으로 AMD, Intel, Nvidia는 각자의 GPU 코어 내에 고속 스토리지를 배치하여 로컬 메모리를 구현합니다. Intel은 Nvidia의 Ampere와 Ada 아키텍처와 유사하게 Xe 코어의 L1 캐시에서 로컬 메모리를 할당합니다. AMD는 각 RDNA WGP에서 128KB 로컬 데이터 공유 영역으로 로컬 메모리를 지원합니다.

각 GPU는 서로 다른 위치에서 로컬 메모리를 할당합니다.

해당 아키텍처들은 퀄컴 대비 다소 우수한 로컬 메모리 지연 시간을 보이나, 그 격차는 크지 않습니다. 이는 L3 캐시 슬라이스에서 로컬 메모리를 할당하여 현저히 높은 지연 시간을 나타냈던 이전 세대 인텔 iGPU와는 상반된 결과입니다. 이러한 구현상의 차이에도 불구하고, 각 아키텍처는 로컬 메모리 활용 시 개발자에게 비슷한 수준의 성능상 이점을 제공합니다. 캐시 시스템은 메인 메모리의 데이터가 캐시 내 어디에 저장되어 있는지를 추적하기 위한 태그와 상태 정보를 관리해야 합니다. GPU는 CPU와 마찬가지로 멀티태스킹을 지원하므로, 캐시를 통한 메인 메모리 접근 시 주소 변환이 필수적입니다. 또한, 로컬 메모리는 메인 메모리에 비해 용량이 제한적이어서 더 적은 주소 비트로도 효율적인 접근이 가능합니다.

OpenCL 지연 시간 테스트 결과: 워크그룹별 로컬 메모리 할당량에 따른 성능 분석. 병렬 실행이 제한될 경우 지연 시간이 급격히 증가하는 현상이 관찰됨.

아드레노 X1은 아드레노 730과 유사한 로컬 메모리 할당 제한을 가지고 있습니다. 커널은 최대 32KB의 로컬 메모리를 사용할 수 있으며, GPU 전체적으로는 한 번에 384KB의 로컬 메모리만 할당할 수 있습니다. 이 이상을 할당하려고 하면 일부 워크그룹이 병렬로 실행될 수 없게 됩니다. 이는 각 uSPTP가 15비트 주소를 통해 로컬 메모리에 접근하기 때문일 수 있습니다. AMD의 128KB LDS는 17비트 주소 지정이 필요할 것입니다.

보장된 낮은 지연 시간 외에도, 로컬 메모리는 데이터가 온칩 SRAM에 보장되어 있기 때문에 높은 대역폭을 제공합니다. 퀄컴은 GMEM이 2TB/s 이상의 대역폭을 제공할 수 있다고 밝히고 있지만, 로컬 메모리에서 읽을 때는 그러한 수준에 근접하지도 못했습니다.

float4 로드를 통한 대역폭 성능은 L1 텍스처 캐시 대역폭과 유사한 수준을 보여주며, 이는 AMD와 인텔의 성능 지표에 비해 현저히 낮은 수준입니다. 아드레노 X1의 성능은 엔비디아의 이전 세대 엔트리급 독립 GPU와 더 근접한 수준이나, 그럼에도 45.2%의 의미있는 성능 우위를 확보하고 있습니다.

로컬 메모리 대역폭 테스트가 GMEM이 제공할 수 있는 대역폭보다는 각 SP가 로드/스토어 서브시스템을 통해 소비할 수 있는 데이터양에 의해 제한되는 것으로 추정됩니다. SP 클록당 대역폭은 아드레노 X1과 아드레노 730 모두에서 사이클당 약 128바이트에 근접합니다. 만약 각 SP가 실제로 사이클당 128바이트만 가져올 수 있다면, 퀄컴의 고사양 버전인 1.5GHz 아드레노 X1도 로컬 메모리 대역폭이 1152GB/s로 제한될 것입니다. 아마도 ROP가 동시에 GMEM에 접근할 때 퀄컴이 언급한 2TB/s 수치에 도달할 수 있을 것 같지만, 이를 테스트할 방법은 없습니다.

아토믹 연산

아토믹 연산은 서로 다른 스레드 간의 데이터 교환을 가능하게 합니다. OpenCL은 로컬 메모리와 글로벌 메모리 모두에서 아토믹 연산을 지원합니다. 로컬 메모리 기반 아토믹 연산이 일반적으로 더 빠르지만, 같은 워크그룹 내에서 실행되는 스레드 간에만 데이터를 교환할 수 있습니다. 아드레노 X1은 로컬 메모리 아토믹 연산에서 무난한 성능을 보여주며 아드레노 730보다 개선되었습니다. 하지만 AMD와 인텔의 iGPU는 로컬 메모리가 실행 유닛에 더 가깝게 위치해 있어 아토믹 연산을 더 빠르게 처리할 수 있습니다.

글로벌 메모리 아토믹 연산은 워크그룹 경계와 관계없이 GPU 전체에 걸쳐 스레드 간 통신을 가능하게 합니다. 아드레노 X1은 이 영역에서 상당한 아키텍처적 개선을 보여주며, 성능 지표가 아드레노 730을 크게 상회합니다.

이번에는 퀄컴의 성능이 AMD와 인텔에 근접한 수준을 보여줍니다. 여기서 모든 GPU는 L2 캐시를 통해 스레드 간 통신을 처리하는 것으로 보입니다.

FluidX3D

FluidX3D는 격자 볼츠만 방법을 활용하여 유체 동역학을 시뮬레이션하는 전문 소프트웨어입니다. 주목할 만한 점은 이전 아드레노 아키텍처에서 성능 최적화 문제가 관찰되었다는 것입니다. 이는 해당 프로그램이 타 제조사의 GPU 플랫폼에서 일관되게 우수한 성능을 보여준다는 점을 고려할 때 특이한 사례입니다. 아드레노 X1의 경우, 기본 FluidX3D 실행에 제약이 있어 Cheese와 Longhorn의 협업을 통해 최적화된 버전이 개발되었습니다.

성능 최적화를 위해 두 가지 주요 매개변수가 조정되었습니다. 워크그룹 규모를 64에서 128로 확장하였으며, legacy_gpu_fma_patch 플래그를 구현하였습니다. 후자의 경우, OpenCL의 기본 fma 함수를 a*b+c 연산으로 대체하는 방식을 채택하였습니다. 이는 OpenCL의 fma 함수가 중간 연산 결과의 반올림을 제한하여 a*b+c 대비 정밀도가 향상되는 특성을 가지고 있기 때문입니다.

성능 평가 과정에서 아드레노 730은 표준 256x256x256 그리드 대신 128x128x128 규모의 축소된 그리드에서 벤치마크가 수행되었습니다.

성능 분석 결과, 아드레노 X1은 현 세대의 AMD와 인텔 iGPU 대비 기대에 미치지 못하는 성능을 보여주었습니다. 특히 주목할 만한 점은 인텔 코어 i5-6600K의 HD 530 iGPU와 비교했을 때 약 3배 낮은 성능을 기록했다는 것입니다. 다만, 이전 세대 아드레노 GPU 대비 개선된 성능을 보여주었다는 점은 긍정적으로 평가할 수 있습니다.

본 연구에서는 스냅드래곤 X 엘리트 시스템에 대한 직접적인 접근이 제한되어, 젠폰 9에 탑재된 아드레노 730을 활용하여 각 매개변수의 영향을 평가하였습니다. 아드레노 730의 경우 메모리 할당 제약으로 인해 FluidX3D 벤치마크를 128x128x128 규모의 축소된 그리드에서 수행해야 했습니다.

아드레노 730에서는 legacy_gpu_fma_patch 플래그가 큰 성능 향상을 보여주었습니다. 아마도 퀄컴은 중간 반올림 없이 융합 곱셈-덧셈을 빠르게 처리하는 하드웨어가 없는 것으로 보입니다. 워크그룹 크기 조정도 성능을 향상시켰지만, legacy_gpu_fma_patch 플래그와 함께 사용했을 때는 그 영향이 미미했습니다. 인텔 코어 울트라 7 155H에서는 legacy_gpu_fma_patch가 아무런 차이를 만들지 않았으며, 워크그룹 크기를 두 배로 늘려도 성능이 약간 개선되는 데 그쳤습니다.

FluidX3D는 저장 공간에 FP16 포맷을 사용하도록 컴파일할 수 있어 메모리 용량과 대역폭 요구사항을 줄일 수 있습니다. 하지만 안타깝게도 아드레노 X1은 이러한 FP16 모드를 사용할 때 FluidX3D 벤치마크를 완료하지 못했습니다.

사이버펑크 2077

사이버펑크 2077은 높은 설정에서 많은 시스템 자원을 요구하는 DirectX 12 게임입니다. 하지만 낮은 설정에서도 괜찮은 시각적 품질을 유지하여 최신 통합 GPU에서도 플레이가 가능합니다. 여기서는 Chips and Cheese 디스코드의 여러 사용자들로부터 제공받은 다양한 기기들을 테스트하고 있습니다. 이 테스트의 목적은 스냅드래곤 X 엘리트의 위치를 가늠해보는 것입니다. 개별 칩을 단독으로 비교하는 것은 목표가 아닙니다. 모바일 칩의 성능은 구현된 플랫폼에 따라 크게 달라지기 때문입니다. OEM들은 서로 다른 전력 관리 정책을 선택할 수 있으며, 데스크톱과 달리 냉각 성능이 주요 요인이 되는 경우가 많습니다.

사이버펑크 2077의 내장 벤치마크를 업스케일링을 비활성화한 상태로 저사양 프리셋에서 1920×1080과 1280×720 해상도로 실행했습니다. 여기서 테스트한 노트북들은 더 높은 해상도의 화면을 갖추고 있지만, 얇고 가벼운 노트북에서 내장 GPU로 그러한 해상도를 목표로 하는 것은 현실적이지 않습니다.

1920×1080 해상도에서 스냅드래곤 X 엘리트는 겨우 플레이 가능한 수준인 평균 24 FPS를 달성했습니다. 30 FPS를 넘어선 미티어 레이크와 피닉스에 비해서는 좋은 성능이라고 할 수 없습니다. 다만 긍정적인 점은 퀄컴이 스냅드래곤 8cx Gen 3에 사용된 아드레노 690과 비교해 획기적인 성능 향상을 이루어냈다는 것입니다.

퀄컴은 상위 모델인 X1E-84-100 칩을 코어 울트라 7 155H와 비교 평가했습니다. X1E-84-100은 X1E-80-100의 1.25 GHz iGPU 클럭과 비교해 1.5 GHz로 구동됩니다. 클럭 속도가 선형적으로 확장된다고 가정하면, X1E-84-100은 아수스 젠북 14에 구현된 코어 울트라 7 155H에 근접한 성능을 보일 가능성이 있습니다.

테스트된 X1E-80-100의 1.25 GHz와 비교해 X1E-84-100은 최대 1.5 GHz로 GPU를 구동합니다.

물론, 성능이 클럭 속도에 비례하여 선형적으로 증가하지는 않습니다. 또한, 더 나은 냉각 성능을 갖춘 상위 모델인 미티어 레이크(185H)는 더 높은 성능을 발휘할 수 있습니다.

대부분의 노트북은 배터리로 구동할 때 성능이 저하되지만, 스냅드래곤 X 엘리트는 동일한 성능 수준을 유지합니다. 반면 미티어 레이크는 약간의 성능 손실이 있어, 스냅드래곤 X 엘리트에 대한 성능 우위가 17%에 그치게 됩니다.

1080P에서의 프레임률은 여전히 다소 낮은 편이며, 특히 배터리 사용 시에 더욱 그렇습니다. AMD의 피닉스는 특히 게이밍용으로 특별히 제작된 휴대용 기기에서 30 FPS 이상을 유지합니다. 하지만 미티어 레이크(배터리 사용 시)와 스냅드래곤 X 엘리트의 경우 720P가 더 현실적인 목표가 될 것 같습니다. 720P는 2024년 기준으로 낮은 해상도로 보일 수 있지만, 밸브의 인기 제품인 스팀 덱도 720P 화면을 탑재하고 있다는 점을 기억할 필요가 있습니다. 얇고 가벼운 기기에서 최신 PC 게임을 즐기기 위해서는 낮은 해상도가 가장 좋은 방법인 경우가 많습니다.

720P에서 스냅드래곤 X 엘리트는 30 FPS 장벽을 여유있게 넘어섰습니다. 미티어 레이크보다는 여전히 뒤처지지만, 두 iGPU 모두 편안하게 플레이할 수 있는 성능을 제공합니다. 피닉스는 평균 60 FPS로 이 부분에서 매우 좋은 성능을 보여줍니다. 퀄컴은 이전 8cx Gen 3와 비교해 3배 이상의 성능 향상을 이루어냈습니다. 이러한 수준의 진전은 칭찬할 만하며, 퀄컴이 더 높은 요구 사양의 게임들을 지원하는 데 진지한 의지를 보여주고 있음을 보여줍니다.

주목할 만한 점은 스냅드래곤 X 엘리트가 배터리 구동 시에도 일관된 성능을 유지한다는 것입니다. AMD의 라이젠 7840HS 또한 안정적인 성능을 보여주고 있습니다. 반면, 미티어 레이크의 경우 프레임률이 현저히 감소하는데, 이는 아수스 젠북 14의 배터리 전력 소비 제한(40W 미만)에 기인한 것으로 분석됩니다. 참고로 전원 어댑터 사용 시 USB-C 포트의 전력 소비량은 약 45W를 기록했습니다. 특히 720P 해상도에서는 CPU 부하가 증가하는데, 이러한 상황에서 미티어 레이크는 제한된 전력을 CPU와 GPU가 분배해야 하므로 전반적인 성능 저하가 발생하는 것으로 확인됩니다.

CP2077 벤치마크 실행 중 HWInfo 통계, 라이젠 결과는 20초마다 샘플링된 것으로 보임.

전력 소비 정규화는 더 많은 자원과 테스트 환경을 통제할 수 있는 능력을 갖춘 주요 리뷰 사이트에 맡기는 것이 좋습니다. 하지만 배터리 방전율을 살펴봄으로써 기본적인 플랫폼 전력 소비를 추정해볼 수는 있습니다. HP는 배터리에서 더 많은 전력을 끌어내는 것을 허용했습니다.

AMD와 인텔은 칩의 전력 소비를 추정할 수 있는 센서도 갖추고 있는데, 이러한 패키지 전력 수치는 위에서 본 결과와 일치합니다. 라이젠 7840HS는 1080P에서 평균 31.5W의 패키지 전력 소비를 보고했고, 코어 울트라 7 155H는 이보다 낮은 평균 23.8W를 기록했습니다. 크라우드소싱 테스트 데이터를 수집할 때 공개적으로 사용 가능한 유틸리티를 활용하기 쉽기 때문에 HWInfo를 사용해 정보를 수집했습니다.

레이트레이싱?

퀄컴의 스냅드래곤 8 Gen 2는 하드웨어 가속 레이트레이싱을 도입했으며, 아드레노 X1도 이를 계승했습니다. 하지만 아쉽게도 아드레노 X1은 DirectX 12 Ultimate (Windows에서 레이트레이싱을 구현하는 데 필요한 API)를 지원하지 않아, 레이트레이싱 효과를 지원하는 대부분의 PC 게임에서 이 기능을 사용할 수 없습니다. 레이트레이싱은 Vulkan API를 통해서만 지원되며, 이는 3DMark의 Solar Bay 테스트로 확인해볼 수 있습니다.

3DMark Solar Bay는 단순한 효과만 있는 작은 장면에서 레이트레이싱 반사를 보여줍니다. 아드레노 X1은 준수한 성능을 보여주지만, AMD의 피닉스와 인텔의 미티어 레이크에 비해서는 뒤처집니다.

벤치마크에서 보고된 프레임률은 세 칩 모두에서 상당히 양호한 수준을 보여줍니다. 인텔이 여기서 가장 강력한 레이트레이싱 성능을 보여주고 있습니다. 하지만 제 의견은 이전과 동일합니다. 실제 사용 환경에서 레이트레이싱은 심각한 성능 저하를 동반합니다. 울트라북 수준의 전력 한계를 가진 모바일 통합 그래픽은 레이트레이싱 없이도 좋은 그래픽을 구현하기에 충분한 성능을 갖추지 못했으며, 레이트레이싱 효과를 활성화하는 데 필요한 여유 성능은 더더욱 부족합니다. 퀄컴이 이 부분에서 경쟁사들보다 약간 뒤처져 있기는 하지만, 세 GPU 모두에게 레이트레이싱 효과는 명백히 실현 불가능한 영역이기 때문에 큰 의미는 없습니다.

드라이버와 소프트웨어

단독으로 봤을 때, 아드레노 X1은 일부 AAA 게임에서 플레이 가능한 성능을 제공할 만큼 충분히 강력합니다. 하지만 게임이 제대로 실행되지 않는다면 괜찮은 성능을 낼 수 있는 GPU 파워도 큰 의미가 없습니다. 퀄컴이 사이버펑크 2077과 같은 DirectX 12 게임을 구동시킨 것은 칭찬할 만하지만, 모든 게임이 그렇게 운이 좋지는 않습니다.

문명 5가 그러한 예시입니다. DirectX 11 API를 사용하는 오래된 게임인데, 아드레노 X1에서 렌더링 문제가 발생합니다. 디지털 파운드리가 지적했듯이 일부 게임은 아예 실행조차 되지 않습니다. 인텔은 Arc A770과 A750을 출시했을 때 드라이버 문제를 겪었습니다. 인텔은 통합 그래픽에서 PC 게임을 구동시키는 데 수년간의 경험이 있었음에도 불구하고, 이러한 iGPU들은 높은 설정의 해상도를 구현할 만한 성능이 부족했습니다. 퀄컴은 이러한 경험조차 없기 때문에 더욱 어려운 상황에 처해 있습니다.

퀄컴의 드라이버 배포 과정도 개선이 필요합니다. 드라이버는 GitHub에서 제공되며, 기기마다 서로 다른 드라이버 패키지를 받아야 합니다. 드라이버에는 자동 설치 프로그램이 없어서 사용자들이 직접 CAB 파일을 추출하고 수동으로 드라이버를 설치해야 합니다. 윈도우 95 시절에도 하드웨어 제조사들은 이러한 과정을 자동으로 처리해주는 드라이버 설치 프로그램을 제공했었습니다. 저희도 6월 10일자 새 드라이버로 업데이트를 시도했지만, 업데이트 후에는 사이버펑크 2077, 문명 5, 디스코 엘리시움, 배드 래츠가 모두 실행되지 않았습니다. 따라서 이번 테스트는 모두 2024년 5월 17일자 드라이버로 진행되었습니다.

AMD, 인텔, 엔비디아는 하나의 드라이버 다운로드로 다양한 기기의 여러 GPU 세대를 지원하는 통합 드라이버 패키지를 제공합니다. 사용자들은 자동 설치 프로그램을 통해 몇 분 만에 새 드라이버를 설치할 수 있습니다. 이러한 간소화된 경험은 퀄컴의 기본적인 방식과는 큰 대조를 이룹니다. 더 큰 문제는 AMD, 인텔, 엔비디아 GPU 사용자들은 드라이버를 자주 업데이트할 필요가 없다는 점입니다. 대부분의 게임이 구버전 AMD, 인텔, 엔비디아 드라이버에서도 잘 작동합니다. 반면 아드레노 X1 사용자는 현재 퀄컴의 드라이버가 매우 불안정하기 때문에 자주 업데이트를 확인해야 할 것입니다.

퀄컴의 입장에서는 OEM사에 의존해야 했던 안드로이드 생태계와 비교하면 어떤 형태로든 드라이버를 공개하는 것이 큰 발전입니다. 퀄컴이 더 나은 드라이버와 간소화된 드라이버 업데이트 과정을 신속하게 제공하기를 바랍니다. 현재로서는 드라이버 상황 때문에 기술에 익숙하지 않은 사용자들에게 아드레노 X1이 불편할 것으로 예상됩니다.

최종 평가

퀄컴, AMD, 인텔은 각각 다른 방향에서 노트북 iGPU 과제에 접근했습니다. AMD는 강력한 독립 GPU 제작에 강점이 있었고, 그들의 모바일 칩은 독립 그래픽 카드에 구현된 아키텍처를 축소한 버전을 특징으로 합니다. 퀄컴은 전력과 메모리 대역폭 제약이 다른 설계 선택을 이끌어낸 휴대폰 칩 제작에서 출발했습니다. 인텔은 PC 시장을 겨냥한 많은 경험이 있지만, 대부분의 시간을 저성능 설계에 집중해왔습니다.

성능 평가에서, 아드레노 X1은 32비트 및 16비트 부동소수점 연산에서 AMD 피닉스와 인텔 미티어 레이크 iGPU에 견줄 만한 처리 능력을 입증했습니다. 특히 스냅드래곤 X 엘리트는 최신 LPDDR5X 메모리 컨트롤러를 탑재하여 경쟁 제품 대비 우수한 메모리 대역폭을 실현했습니다. 더불어 퀄컴의 혁신적인 GMEM 아키텍처는 로컬 메모리, 렌더 캐시, 타일드 렌더링 버퍼 간의 효율적인 전환을 가능하게 하여 주목할 만한 기술적 진보를 보여주었습니다.

최근 AAA 게임에서는 픽셀 셰이더 작업(점유율 타임라인에서 파란색)이 더 이상 지배적이지 않습니다.

하지만 아드레노 X1의 캐시 대역폭은 낮고 지연 시간도 평범한 수준입니다. 레지스터 파일 용량은 아드레노의 매우 넓은 웨이브 사이즈를 고려했을 때 충분하지 않습니다. GMEM의 유연성은 뛰어나지만, 아드레노는 여전히 픽셀 셰이더 작업이 지배적이었던 DirectX 11 시대에 최적화된 GPU처럼 느껴집니다. 컴퓨팅 측면에서는 64비트 정수 연산 성능이 저조하고, FP64 지원도 없습니다. 드라이버와 지원 소프트웨어는 아직 미흡한 상태입니다.

아드레노 컨트롤 패널이 출시되면 좋을 것 같습니다. 드라이버는 아직 퀄컴 사이트에서 제공되지 않고 있습니다 (https://www.qualcomm.com/drivers

향후 아드레노 플랫폼은 지속적인 발전과 혁신을 통해 더욱 강력한 그래픽 성능을 선보일 것으로 예상됩니다. 단기적으로는 드라이버 최적화와 소프트웨어 개선을 통해 게임 호환성과 전반적인 성능 향상이 이루어질 것으로 전망되며, 특히 현재 드라이버 안정성 문제 해결에 집중할 것으로 보입니다. 장기적으로는 아드레노 아키텍처의 근본적인 진화를 통해 캐시 대역폭 개선, 레지스터 파일 용량 확대, 그리고 현대적인 그래픽 워크로드에 최적화된 구조 개선이 이루어져 인텔과 AMD의 선도적인 iGPU 솔루션과의 기술적 격차를 좁힐 것으로 기대됩니다.

현재 시장을 주도하고 있는 AMD 피닉스와 인텔 미티어 레이크는 이미 뛰어난 성능과 안정성을 입증했으며, 두 기업의 지속적인 혁신과 기술 발전은 모바일 PC 게이밍 시장의 성장을 더욱 가속화할 것입니다. 특히 AMD의 RDNA 아키텍처와 인텔의 Xe 그래픽스는 각각의 장점을 바탕으로 더욱 발전된 형태로 진화할 것으로 예상됩니다.

퀄컴이 이러한 기술적 도전과 시장 진입의 어려움을 성공적으로 극복한다면, 노트북 iGPU 시장은 세 개의 강력한 경쟁자를 보유하게 될 것입니다. 이는 결과적으로 시장 경쟁 강화를 통한 기술 혁신 가속화, 제품 다양성 확대, 그리고 가격 경쟁력 향상으로 이어져 최종 사용자들에게 더욱 폭넓은 선택권과 향상된 그래픽 경험을 제공할 것으로 전망됩니다.


원문.

 

The Snapdragon X Elite’s Adreno iGPU

Qualcomm is no stranger to integrated graphics.

chipsandcheese.com