Hardware

AMD의 차세대 GPU "Radeon R9" 새로운 그래픽 API "Mantle"

crazyits 2013. 9. 27. 19:32
반응형

연산 성능이 5TFLOPS 이상의 플래그쉽 GPU


AMD는 새로운 아키텍처 세대의 GPU 인 'Hawaii (하와이) "의 도입을 미국 하와이서 발표했다. 새로운 시리즈의 브랜드는 크게 달라져 "Radeon R9" "Radeon R7 '시리즈이다. 플래그쉽 모델 연산 성능은 5TFLOPS 이상 메모리 대역은 300GB/sec 이상 트라이앵글 레이트는 초당 40 억, 그리고 트랜지스터 수는 60 억 이상이 된다. 덧붙여서, NVIDIA의 거대한 칩 GK110 (GeForce GTX Titan)의 트랜지스터 수가 71 억이므로, Hawaii 그것에 육박한다.

R9 290 Over 5 TFlops Compute Over 300GB/sec 메모리 대역 More Than 4 Billion Triangles/sec 6Billion Transistors

 

이 스펙을보고 "어?"라고 의문을 느끼는 사람도 많을 것이다. 세대가 바뀔 때마다 성능이 2 배가되는 것이 당연한 GPU 그런데 이번에는 배가되고 있지 않기 때문이다. 이전 세대의 최고봉 다이인"Tahiti (타히티 : Radeon HD 79xx 계열)"는 피크 4TFLOPS에서 메모리 대역은 288GB/sec 트랜지스터 수는 4.3B (43 억). Tahiti 대 Hawaii는 2 배가 아니다.

2 배로 되지 않는 이유는 여러 생각할 수 있지만, 그 결과로 명확하게 예측할 수 있는 것은 AMD GPU는 앞으로 1 년마다 성능이나 성능 / 전력이 올라 갈 것이다. 파운드리 공정 전환이 55nm → 40nm → 28nm로 2 년 간격으로 되었기 때문에 지난 몇 년 GPU는 사실상 성능 거치 기간이 길어지고 있었다. 그러나 앞으로는 반도체 기술 측면의 상황이 변화하기 때문에 단계적으로 성능이 올라가는 것이다. Hawaii는 그 제 1 탄이 되는 GPU이다. GPU의 다이 사이즈와 트랜지스터 밀도에서 생각하면, 조만간 GPU는 100 억 트랜지스터를 내장하게 될 것이다.

GPU의 트랜지스터 카운트 공정 기술의 로드맵 AMD Radeon R9 and R7 Series AMD R9 and R7 3Dmark Firestrike Performance AMD Radeon R9 290X

 

 

오디오 하드웨어 엔진을 탑재

 

Hawaii에서 눈에 띄는 것은 성능 향상뿐만 아니라 아키텍처를 진화시킨 것이다. 이번 칩 아키텍처 측면에서의 특징은 오디오 엔진을 더한 것. "TrueAudio"라고 이름 붙인 프로그램 오디오 엔진 Radeon R9 290/290X/260X에 탑재했다. TrueAudio의 구현 형태는 발표되고 있지 않지만, 오디오 하드웨어의 PC 용 GPU에 내장은 지금까지도 여러 번 있었다. 원래, NVIDIA가 처음 발표 한 'NV-1'가 3D 그래픽 GPU에 오디오 프로세싱을 내장 한 멀티미디어 프로세서이었다.

AMD TrueAudio Technology AMD TrueAudio 지원 GPU R9 290X, R9 290, R7 260X

 

이번에 AMD가 구현 한 것은 프로그래머블 엔진에서 3D 오디오를 비롯한 사운드 기능을 구현하고 CPU에서 오프로드 처리함으로써 CPU의 부하를 줄일 수 있다. 반도체상으로 보면 이론적으로 오디오와 같은 특정 기능의 하드웨어 GPU의 통합은 의미가 있다. 그것은 반도체 칩의 전력 밀도를 낮추어 어렵기 때문에 그래픽 연산 유닛 만 늘려 가다 보면 열처리로 막혀 버리기 때문이다. 특정 기능의 하드웨어는 전력 효율이 높기 때문에 그러한 장치를 늘리면 전체 칩의 전력 효율성 측면에서 이점이 있다. 또한 GPU 코어와 부하의 피크의 타이밍이 다른 경우가 많기 때문에 열 분산 측면에서도 이점이 있다.

Dedicated Programmable Audio DSP Dedicated Programmable Audio DSP

 

 

GCN 아키텍처 확장

 

GPU 코어 아키텍처도 진화한다. AMD는 "Southern Islands (서던 아일랜드 : Radeon HD 7xxx)"세대에서 GPU 아키텍처를 크게 전환했다. 지금까지의 VLIW (Very Long Instruction Word) 아키텍처에서 GCN (Graphics Core Next) 아키텍처로 진화시켰다. 다음 "Sea Islands (시 아일랜드 : Radeon HD HD 8xxx)"시리즈는 대부분 Southern Islands와 동 계열 다이 이었기 때문에, GCN 소개에서 큰 설계 변경은 이번 'Volcanic Islands "시리즈가 처음이다.

R9 290

 

이번에 AMD는 명확하게 "GCN을 확장했다"고 강조하고 있다. 그리고 확장의 최대의 포인트는 DirectX 11.2에 대응이다. DirectX 11.2 하드웨어 측면에서 가장 눈에 띄는 변화는 타일 자원의 지원, 태국 링을 어떤 구현으로 지원하게 된다. 그러나 실제 하드웨어 구현 (예를 들면, 태국 링 GPU처럼 타일 캐쉬를 갖는 등)은 밝혀져 있지 않다.

그러나 AMD가 아키텍처를 근본적으로 바꾸는 것은 생각하기 어렵다. 그것은 GPU 메이커에 있어서도, GPU 개발은 수고와 시간이 걸리는 것으로, 예전처럼 완전히 새로운 아키텍처를 매 세대 개발하는 것은 매우 어렵 기 때문이다. NVIDIA도 AMD도 현재는 기반 아키텍처를 완성하면 몇 세대는 그 확장판을 계속하는 패턴이었다.

GCN 아키텍처 AMD GPU의 메모리 계층 구조의 차이

 

Hawaii의 메모리 대역은 300GB/sec 이상. 아래의 메모리 로드맵의 그림을 보면 알 수 있듯이 GDDR5의 한계로 서서히 다가오고 있다. 가까이 있기 때문에 메모리 대역의 확장도 둔화되었다. 트라이앵글 레이트도 크게 올랐는데 이를 높이는 방법은 한정되어 있기 때문에 아키텍처는 추측이 있다.

DRAM 대역폭의 향상

 

 

AMD의 Mantle

 

AMD의 이번 발표 중 가장 임팩트가 강했던 아직 디테일이 분명하지 않다 GPU 제품 하드웨어보다 소프트웨어 계층 "Mantle (맨틀)"할지도 모른다. Mantle은 한마디로 말하면, 게임기 프로그래밍 모델을 PC로 옮긴 것이다. Mantle는 미들웨어와 같은 상위 소프트웨어 계층이 아니라 DirectX와 같은 저수준 그래픽 API와 드라이버 소프트웨어 계층이다.

그 의도는 런타임 소프트웨어를 가볍게 하는 것으로, 게임기처럼 PC의 그래픽 기능을 직전까지 사용할 수 있게 하는 것이다. 지구에 비유하면 코어 (그래픽 코어) 주위에, 맨틀 층 (Mantle 드라이버와 Mantle API)가 있고 그 바깥 쪽의 지각 (그래픽 응용 프로그램)을 지원 같은 이미지다.

Uniting Both Worlds : Mantle Mantle Benefits Radeon Technology, GCN

 

AMD의 Raja Koduri 씨 (Corporate Vice President, Visual and Perceptual Computing)은 다음과 같이 설명한다.

"Mantle은 새로운 로우 레벨 인터페이스(Low Level Interface)다. Microsoft의 HLSL과 같은 기존의 쉐이더 언어와 호환이기 때문에 (소프트웨어) 이식은 매우 간단하다. Mantle의 장점은 다른 PC 용 API에 비해 9 배 속도의 독특한 그리기 호출을 가능하게 하는 점이다. 그것은 2018 년의 하드웨어 (성과)를 오늘 손에 넣을 수 있다는 것을 의미한다.
지금까지 게임 콘솔 개발자 모어 안드레스 (more and less)이었다. 즉, 낮은 하드웨어 사양에서 더 많은 성능을 이끌어 낼 수 있었다. 대조적으로, 오늘날의 PC 용 (게임) 개발자는 레스 & 모어 (less and more) 일 뿐이다 하드웨어 스펙은 콘솔보다 우수한데 (낮은 성능 밖에 얻을 수 없다) 그러나 Mantle은 PC 용 개발자에게 모어 & 모어 (more and more)을 줄 수 있다. "

게임 콘솔은 5 ~ 10 년 하드웨어 스펙이 고정되므로 수명주기의 후반에서는 하드웨어 스펙은 PC보다 훨씬 낮아진다. 하지만 소프트웨어 계층의 오버 헤드가 적기 때문에 성능을 이끌어 낼 수있다. 반면, PC에서는 하드웨어는 해마다 진화하는 콘솔을 훨씬 능가하지만 소프트웨어 오버 헤드로 인해 전체 성능을 활용할 수 없다.

이것이 지금까지의 게임 개발의 상식이었다. 하지만 AMD는 Mantle에서 그 이론을 깨려 하고 있다. PC도 게임기 수준에 오버 헤드 작은 소프트웨어 계층을 도입함으로써 개발자가 하드웨어의 성능을 이끌어 낼 수 있게 한다. 이를 통해 PC 게임을 보다 풍부한 것으로 하려는게 Mantle 아이디어이다.

 

 

게임기의 소프트웨어 계층과 비슷한 Mantle


Mantle의 개념은 게임기 그래픽 소프트웨어 계층을 보면 이해할 수 있다. 예를 들면, PlayStation 4 (PS4)의 경우, 기본적으로는 아래와 같은 API 구조로 되어 있다. 왼쪽의 그래픽 파이프 라인의 제어 API는 2 단계로 되어있어, 최고의 래퍼 API는 DirectX와 OpenGL의 API와 유사하다. 하지만 PS4는 아래의 로우 레벨 API도 개발자에게 공개하고 래퍼 API보다 낮은 수준의 액세스도 있다.

PS4의 API 구조

 

GPU의 경우 CPU와 달리 복잡한 그래픽 파이프 라인을 제어해야 한다. PC 용 API에서는 그 부분이 두껍게 추상화되어 있지만, 게임기의 경우보다 하드웨어에 가까운 수준까지 접근 할 수 있게 되어있다고 해도 완전히 하드웨어 레벨까지 공개 버리면 나중에는 문제가 생기므로 최소 수준의 하드웨어를 추상화 한다. 그 점에서는 하드웨어를 은폐하는 GPU의 모델을 따라 하고 완전히 직접 GPU를 만지는 것은 아니다.

덧붙여서, 게임기의 경우 쉐이더 코어를 프로그래밍 하는 쉐이더 언어 측도 더 얇은 소프트웨어 계층으로 되어있다. 경량 런타임에 셰이더를 컴파일한다. 또한 하위 런타임 컴파일러 인터페이스도 공개하거나 사실상 사용할 수 있도록 하는 경우가 많다.

Mantle의 개념은 게임기의 소프트웨어 모델 흡사하다. 그래픽 소프트웨어를 가볍게 얇게하는 것으로, GPU의 학생 성능을 최대한 끌어낼 수 있도록 한다. 특히 Koduri 씨가 강조한 것은 게시하는 그리기 요청을 늘리는 것이다.

그래픽 프로그래밍에서의 난관 중 하나는 드로 콜 (Draw Call), 즉 그리기 호출라는 그래픽 API 군의 호출이다. 렌더링 엔진이 발행하는 그리기 요청이 많아지면 API 측의 처리가 무거워져, CPU의 성능을 먹어 버린다. 따라서 PC의 그래픽 API는 밧찐구 등의 수법으로, 그리기 요청을 줄여야 하고, 이것이 개발자에게 상당히 번거로운 점이 되어 버린다. Mantle는 소프트웨어 계층을 가볍게 얇게하여 게시하는 그리기 요청이 크게 증가한다.

 

 

추측되는 Mantle 전략


Mantle의 장점 중 하나는 유사한 프로그래밍 모델을 가지고 게임기에서 게임 이식이 쉽고 고성능이라는 것이라고 추측된다. 물론, PC 그래픽의 Mantle와 PlayStation 4 (PS4) 및 Xbox One에서는 같은 로우 레벨 API에도 차이가 있는 것이지만, 친화력은 강한 것이다. 이것은 AMD가 차세대 게임기의 그래픽을 정복했기 때문에 가능한 것이다. 이 기회 밖에 할 수 없는 전략 일 것이다. 무엇보다, Mantle가 지원하는 것은 현재로서는 GCN 뿐이므로 같은 AMD 그래픽도 Wii U는 분리된다.

AMD의 전략으로 보면 Mantle은 NVIDIA를 PC 게이밍 세계에서 밀어내는 최적의 도구가 되기도 한다. 만약 게임 개발자가 PS4와 Xbox One, Mantle의 크로스 플랫폼으로, 지금까지보다 쉽게 고성능 그래픽 엔진을 만들 수 있다면, Mantle 지원이 퍼져도 이상하지 않다. 물론, 개발자는 DirectX 11을 지원을 계속하지만 API / 드라이버 수준에서 오버 헤드가 적은 AMD 그래픽으로 개발자가 기울어 갈 가능성도 있다. 즉, Mantle은 게임 콘솔의 패권을 배경으로 한 AMD에 따르면 NVIDIA 대한 PC 게임 시장 장악 전략이라고 볼 수 있다.

더 넓은 견해로 보면 Mantle은 GPU 제조사가 독자적인 그래픽 API로 경쟁하던 시절로 돌아가는듯한 움직임이라고 볼 수도 있다. 일단 3Dfx Interactive의 Glide API가 게임 플랫폼이었던 시대의 재현이라는 견해이다. 이것은 DirectX와 OpenGL로 수렴 하였다 흐름과 반대로 되지만, 이만큼 고성능 그래픽 업체가 부족 해지면 전략으로서의 의미를 가져온다. 사실상 AMD, NVIDIA, Intel 등 3 개사 밖에 없기 때문에 자체 API도 싸울 수 있다. 그러나 모바일 3D 그래픽이 융성하고 있는 상황을 감안할 때, 전략적으로 유리한 계책 여부는 알 수 없다.

다른 견해를 말하면 이것은 과거의 속박에서 무거운 GPU를 위한 런타임 재편의 일환으로 볼 수도 있다. AMD는 무거운 그래픽 런타임을 제외하고, GPU 컴퓨팅을 실현하기 위해 HSA (Heterogeneous System Architecture)를 도입하고 있다. Mantle는 소프트웨어 계층을 가볍게 한다는 의미는 HSA와 공통되는 부분이 있다.

Mantle 대한 자세한 내용은 11 월에 AMD가 개최하는 기술 컨퍼런스 "AMD Developer Summit '에서 공개 될 예정이다.

Mantle

 

원본글 http://pc.watch.impress.co.jp/docs/column/kaigai/20130927_617112.html

반응형