라데온 RX 5700 시리즈의 발표 소식은 이미 올라왔지요. https://gigglehd.com/gg/5055155 자세한 설명도 한번 보시라고 올려 봅니다.
AMD GPU의 큰 혁신. 나비 아키텍처
AMD는 7nm 공정 세대의 CPU인 젠2와 함께 7nm 세대 GPU인 나비(Navi)까지 2개의 조합을 콘솔 게임 플랫폼 시장에 강력하게 추진합니다. 이 배경에는 차세대 PlS와 Xbox라는 두 게임 플랫폼을 젠2와 나비 조합으로 차지하고, 클라우드 게임도 AMD GPU가 획득했다는 배경이 있습니다. AMD는 PC 게임 시장도 젠2와 나비 아키텍처로 제압하려 합니다.
차세대 PS와 Xbox는 모두 젠2와 나비를 기반으로 한 커스텀 칩을 사용합니다. 2020년에 출시될 두 게임기를 차지한 것입니다. 이번에 AMD는 젠2 기반 라이젠 3000 시리즈 CPU와 나비 기반의 라데온 RX 5700 시리즈를 발표했습니다. 라데온 RX 5700는 앞으로 나비 시리즈 GPU의 기반이 될 GPU라 추측됩니다.
라데온 RX 5700 XT
나비에서 AMD는 주요 구조를 바꿨습니다. 기존의 AMD GPU 아키텍처인 GCN(Graphics Core Next)에서 새로운 디자인인 RDNA(Radeon DNA)로 바꿨습니다. 그 결과 GCN 세대보다 클럭 당 연산 성능은 1.25배 증가하고, 소비 전력이 줄어들어 전력 당 성능은 1.5배 개선됐습니다. 연산 성능/클럭의 향상은 명령 발행 효율이 오른 결과입니다.
RDNA에서 효율을 높인 근원은 7nm 공정이 다가 아니라, 아키텍처의 혁신도 있습니다. RDNA는 전체 유닛 구성에서 캐시 계층, 프로세서 클러스터의 내부 마이크로 아키텍처, 물리적 설계까지 모든 면에서 기존의 AMD GPU를 개선했습니다. 지금까지의 AMD GPU 아키텍처인 GCN(Graphics Core Next)은 큰 워크로드를 효율적으로 수행하는 데 최적화됐습니다. 그러나 RNA는 작은 워크로드에서 큰 워크로드까지 넓은 범위를 효율적으로 수행하는 데 최적화됐습니다.
처리량을 높였을 뿐만 아니라 실행 지연 시간도 낮췄습니다. 그래픽 작업 시 내부 데이터 경로의 트래픽을 줄이는 방법도 넣었습니다. 이러한 개선 결과 RDNA는 모바일 제품까지 커버하는 높은 전력 효율과 설계 유연성을 갖췄습니다.
2가지 종류로 출시되는 라데온 RX 5700 시리즈
AMD 나비 아키텍처의 첫 제품인 나비 10은 2개의 SKU가 출시됩니다. 상위 모델인 라데온 RX 5700XT는 40개의 CU(Compute Unit), 2560개의 스트림 프로세서(32비트 FMAD 유닛 위주의 연산 유닛)을 갖춥니다. 연산 성능은 최대 9.75TFLOPS에 동작 클럭은 최고 1,905Mhz로 2GHz에 접근했습니다. 베이스 클럭은 1,605MHz며 게임 플레이 시 평균 클럭은 1,755MHz입니다.
라데온 RX 5700 XT의 스펙
라데온 RX 5700 XT와 라데온 RX 5700의 스펙
최고 클럭인 부스트 클럭, 기본 클럭인 베이스 클럭, 3D 게임 시 평균 클럭인 게임 클럭의 3가지가 있습니다.
라데온 RX 5700 XT의 메모리 인터페이스는 256비트며 GDDR6 메모리를 사용합니다. 14Gbps 클럭의 8Gbit 용량 메모리 8개를 장착해 총 8GB가 나옵니다. 그러나 GDDR6의 2다이 구성이라 DRAM 다이는 16개입니다. 14Gbps는 현재 양산되는 GDDR6 중 가장 빠른 속도이며 메모리 대역폭은 448GB/s입니다. 단순하게 따지면 HBM2 4스택 구성에서 대역폭이 절반으로 줄었지만 가격은 훨씬 쌉니다.
나비 10은 저렴한 GDDR6를 채용
하위 모델인 라데온 RX 5700은 36개의 CU(Compute Unit), 2304개의 스트림 프로세서로 구성됐습니다. 동작 클럭은 최고 1,725MHz, 베이스 1,465MHz, 게임 1,625MHz입니다. 연산 성능은 7.95TFLOPS. 메모리 스펙은 라데온 RX 5700 XT와 같습니다. 라데온 RX 5700 시리즈는 모두 PCIe 4.0을 지원합니다. 출력 포트는 모두 Display Stream Compression 1.2a 규격을 지원합니다.
라데온 RX 5700의 스펙. 연산 유닛의 수와 클럭이 모두 줄었습니다.
다이 크기는 중급형, 하지만 고성능
나비 10은 지금까지 AMD의 고성능 GPU가 그랬던 것처럼 거대한 다이를 지닌 GPU는 아닙니다. 다이 크기는 251제곱mm, 트랜지스터 수는 103억 개, 7nm 공정에 이전 세대 아키텍처인 베가 기반의 라데온 VII는 331제곱mm에 132억 개의 트랜지스터로 나비 10보다 한결 큽니다. 스트림 프로세서 수도 4096개로 더 많고, 메모리 인터페이스는 HBM3 4스택으로 4096비트, 메모리 대역은 1TB/s에 달합니다.
나비와 베가의 비교
컨슈머용 제품인 나비 10에서 다이 크기를 줄인 이유는 7nm 공정의 사정 때문입니다. 7nm 공정은 액침 멀티 패터닝 기술을 사용해 제조 비용이 몹시 높습니다. 마스크 수가 늘어나면 노출 횟수도 증가해, 처리량이 떨어지고 수율도 낮아집니다. 수율까지 따지면 7nm 공정의 제조 비용은 14/16nm의 두 배라고 AMD는 설명합니다. 즉 7nm 칩의 다이 크기를 14nm의 절반으로 줄여야 제조 비용 상승이 없다는 계산합니다.
AMD는 7nm 베가가 컴퓨팅에 맞는 아키텍처라고 설명했습니다. 컴퓨팅용 라데온 인스팅트 브랜드가 7nm 버전 베가의 원래 용도이며, 라데온 VII는 거기서 파생된 제품에 해당됩니다. AMD는 원래 7nm GPU의 컨슈머용 제품으로 나비 10을 바로 출시하는 걸 계획하고 있었던 듯 합니다. 하지만 중간에 땜빵을 위해서 라데온 VII를 잠깐 내놓았지요.
다이 크기를 줄인 나비 10. 왼쪽 다이 사진은 실제 레이아웃은 아닌 것으로 보입니다.
나비 10은 다이를 크기를 억제하고 연산 유닛 수를 줄인 대신 동작 클럭을 올려 성능을 높였습니다. 7nm 공정으로 전환하며 줄어든 전력 사용량을 클럭을 올리는 데 썼습니다. 그 결과 다이 면적 당 성능이 올랐습니다.
마이크로 아키텍처를 크게 바꾼 RDNA의 CU
AMD는 2012년에 GCN을 도입한 이후 GPU 마이크로 아키텍처는 큰 변화 없이 유지해 왔습니다. RDNA은 7년만에 본격적으로 바뀐 마이크로 아키텍처입니다. RDNA의 핵심은 3개로, CU(Compute Unit)의 구성 변경, 캐시 계층과 렌더 백엔드 배치 변경, 고정 그래픽 파이프 라인의 클럭 상승입니다.
RDNA 아키텍처의 특징
RDNA 아키텍처는 CU(Compute Unit)의 마이크로 아키텍처가 크게 다릅니다. AMD GCN의 CU는 16웨이 SIMT(Single Instruction, Multiple Thread) 프로세서(AMD는 SIMD라고 부름)을 4 어레이 갖춥니다. AMD의 GCN에서 작업은 64개씩 묶여 웨이브프론트로 실행됩니다. 64개의 16웨이 SIMD 처리에는 4사이클이 필요합니다. 따라서 1개의 명령 발행 유닛이 1 사이클마다 1개의 16웨이 SIMD로 명령어를 실행해 4개의 16웨이 SIMD를 완벽하게 구동합니다.
RDNA는 이 구조를 크게 바꿨습니다. 우선 SIMD 어레이 폭을 32개로 늘리고, 처리하는 작업 크기도 64개에서 32개로 바꿨습니다. 32개의 웨이브 32를 32웨이 SIM 유닛이 1사이클로 처리합니다. 명령 스케줄러도 CU당 1개에서 2개로 늘려 2개의 웨이브 32를 동시에 처리합니다.
웨이브의 크기를 반으로 줄이면서 레이 트레이싱처럼 작은 단위로 처리하는 애플리케이션도 효율적으로 처리합니다. 호환성을 위해 64개의 작업을 처리하는 웨이브 64 모드두 넣었습니다. 즉 웨이브 32와 웨이브 64의 두 가지 논리 벡터 길이를 지원합니다.
웨이브 32의 SIMD 32 처리하는 RDNA 아키텍처
웨이브 32와 웨이브 64의 두 가지 논리 벡터 길이를 지원
RDNA는 기존의 SIMD 유닛과 명령 포트를 공유하며 슈퍼 펑션 유닛을 분리했습니다. 또 SIMD 32에 1개씩 스칼라 유닛을 넣는 등 부가 유닛도 추가했습니다. RDNA는 CU를 2개씩 묶어 로컬 데이터 공유 메모리와 스칼라 데이터 캐시를 공유합니다. 이런 묶음을 작업 그룹 프로세서(WGP)라고 부릅니다.
RDNA는 64개의 웨이브 64를 32웨이 SIMD에서 2사이클 동안 실행합니다. 위 슬라이드에선 2개의 SIMD32에서 실행하는 것처럼 보이지만 실제로는 각각의 SIMD 32가 다른 레지스터에 액세스하기 위한 하나의 웨이브 64를 실행하지 못합니다. 웨이브64를 두 SIMD32에서 실행하는 게 아니라 64개의 워크로드를 병렬 처리한다는 이야기입니다.
레이 트레이싱은 앞으로 RDNA에서 채용
메모리 계층은 새로 128KB의 L1 캐시를 넣었습니다. L1은 WGP와 내부 패브릭 사이에 위치해 여러 WGP에서 공유합니다. 더 중요한 건 L1 캐시를 증설하면서 L1 캐시보다 내부의 WGP 가까이에 렌더 백엔드를 배치했다는 점입니다. 기존의 PC 용 GPU는 렌더 백엔드를 메모리 컨트롤러에 연결했습니다. RDNA에서는 렌더 백엔드를 내부에 포함시켜 GPU 내부의 네트워크를 통해 전송하는 컬러 데이터를 압축할 수 있게 됐습니다.
이 아키텍처는 최근의 렌더링 기술을 지원합니다. 또 SoC(System on a Chip) 나 CPU에 그래픽을 포함시킬 때도 유리합니다. 내부 패브릭만 사용하기에 메모리 트래픽 부담이 줄어들기 때문입니다.
나비 10은 레이 트레이싱의 하드웨어 유닛은 없습니다. 하지만 차세대 PS와 Xbox는 나비 아키텍처의 레이 트레이싱 가속 하드웨어를 탑재하리라 추측됩니다. 그럼 차세대 RDNA 아키텍처에서 하드웨어 레이트레이싱을 구현하리라 보입니다.
이제 GPU에도 투자를 좀 해주겠죠?