벤치리뷰·뉴스·정보/아키텍처·정보분석

[분석정보] 인텔 네할렘과 AMD 퓨전 양사의 CPU + GPU 통합의 차이

tware 2007. 10. 11. 14:00

 

CPU에 통합하는 GPU 코어를 범용으로는 사용하지 않는 Intel

 Intel은 Nehalem 세대의 CPU에 GPU 코어를 통합한다. 통합 GPU 코어는 Intel의 내장 그래픽이 될 것으로 추측된다. Intel이 높은 throughput 컴퓨팅 용으로 개발하고 있는 "Larrabee (라라비)"는 적어도 첫 번째 단계에는 통합하지 않는다.

 Intel의 내장 그래픽은 하드웨어 적으로는 단일 쉐이더로 구성되어 있고, 실제로는 DirectX 10 지원이 가능하다. G965 계의 "GMA X3000"은 8개의 프로그래밍 가능한 범용 쉐이더 프로세서 코어 "Execution Units (EU)"로 구성되었다. (G41, G43, G45 칩셋 이전까지는 칩셋에 내장된 그래픽의 이름에(GMA 0000) X가 붙는가와 아닌가가 그래픽 코어가 다릅니다.)

 G965는 90nm 공정으로 128 제곱 mm의 다이 (반도체 본체)였다. 이 중 70% 정도를 GPU 코어가 차지하고 있었다면 45nm 공정에서는 아마 20 ~ 30 제곱 mm 정도의 크기로 축소되는 것이다. 어쩌면, EU의 개수를 더 늘릴지도 모른다. 실제 2008년의 데스크탑 칩셋 "EagleLake (이글레이크)" 에서는 EU의 개수는 10개로 된다. CPU에 통합시에도 균형적으로 10여개의 EU를 탑재한다고 생각하는 것이 자연스러울 것이다. 코어 주파수도 높일 가능도 있어서, 이론상의 GPU 코어 성능은 현행보다 올라갈 것이다.

 

 

시스템 파티셔닝의 변화 추측도

 

 

 

Core MA와 Nehalem의 확장성

 

 

 언뜻 보면 AMD의 "FUSION"프로세서와 같은 노선으로 보이는 Intel의 GPU 통합 CPU. 그러나 그 방향은 크게 다르다. AMD는 GPU 기반의 데이터 병렬 프로세서 코어를 그래픽뿐만 아니라 다양한 처리를 하는 것이 가능한 연산 자원으로서 적극적으로 사용하려고 한다. 반면, Intel은 당분간 통합 GPU 코어를 그래픽 이외의 용도로 범용으로 사용하는 것은 생각하지 않는다. 단순히 그래픽을 CPU에 통합한다는 얘기다.

 

 

Stephen L. Smith (스티븐 L 스미스) 씨

 

 

인텔의 스티븐 L. 스미스씨는 (VicePresident, Director, Digital Enterprise Group Operations, Intel) 다음과 같이 설명한다.

 "우리는 프로그래머블 그래픽 (하드웨어)을 가지고 있다. 그리고 그래픽 드라이버 작성을 통해서 그래픽 같은 특정 용도를 위한 가속기에서 프로그램을 작성하는 것이 얼마나 어려운가 이해하고 있다.

 그래픽 컨트롤러를 다른 기능으로 사용하는 것은 개념적으로 있을 수 있다. 그러나 (그래픽 하드에서) 프로그램을 작성할 수 있는 프로그래머의 수는 매우 적다. 이것은 그래픽 드라이버를 작성하는 인원을 생각해 보면 잘 알 수 있다.

 그 경험에서 라지 세트의 문제에 대한 고병렬 컴퓨팅을 실현하기 위해서는 더 범용적으로 더 유연한 접근을 찾아내는 것이 필요하다고 생각했다. 그 접근 이야말로 Larrabee에서 그리고 있는 것이다.

 Larrabee에서, 우리는 세계의 모든 개발자가 프로그램 작성을 알고있는 IA (x86 계열 명령어 세트 아키텍처)의 장점을 살리는 것이 더 나은 솔루션이라고 판단했다. 보다 유연하고 프로그램의 작성을 간단히 이해할 수 있고, 업계의 인프라를 이용 가능한 아키텍처를 실현할 생각이다. 향후 어느정도의 특수한 응용 프로그램은 GPU 상에서 달리게 될 것이다. 그러나 우리는 다른 접근을 취한다."

 


GPGPU는 실패한다고 보는 Intel 간부

 GPU 코어는 PC에 필수인 그래픽 작업을 위해. 범용의 고 throughput 컴퓨팅 용으로는 다른 아키텍처 (현재로는 Larrabee)를 가져온다. 미래에는 그것이 GPU 코어를 대체 할 가능성도 있다. 이것이 현재의 Intel의 GPU 컴퓨팅에 대한 기본적인 자세이다.

 

 

패트릭 (팻) P. 겔싱어

 

 

이 자세는 데스크탑 & 서버를 가진 Digital Enterprise Group에서는 일관되어 있다. Digital Enterprise Group을 이끄는 Patrick (Pat) P. Gelsinger (팻 P · 겔싱어) 씨 (Senior Vice President and General Manager, Digital Enterprise Group)는 다음과 같이 말했다.

 "GPU의 자원을 명령 셋트로서 사용할 수 있도록 하는 시도도 이뤄지고 있다 .AMD의 CTM (Close to the Metal), NVIDIA의 CUDA (Compute Unified Device Architecture) 등에서  유망한 접근으로 볼 수있다. 그러나 우리는 이러한 프로그래밍 모델은 되지 않는다고 생각한다.

 왜냐하면 프로그래밍 모델이 매우 사용성이 나쁘고, 데이터 유형이나 명령 흐름도 (일반 CPU와는) 다르며, 캐시 일관성도 유지되지 않기 때문이다. 매우 더러운 프로그래밍 모델로, 우리는 이러한 모델이 실패한다고 생각한다.

 Intel은 앞으로도 일관된 (CPU) 명령어 세트 확장을 아키텍처에 계속 포함시켜 간다. 그 위에, 가속 모델은 "QuickAssist"의 접근으로 지원한다. QuickAssist 에서는 드라이버 인터페이스 모델을 통해 가속기 (위의 프로그램)를 CPU의 명령 세트에서 명확하게 분리한다. 그 위에서, (CPU와 가속기 사이에서) 데이터의 송수신을 지원한다 "

 

 

가속기의 병목 현상

 

 

IA의 프로그램성과 병렬성에 의한 고 throughput 컴퓨팅을 가져온다


 Intel은 GPU의 프로그래밍 모델, 이른바 GP (General-Purpose) GPU는 널리 보급될 수 없다고 생각한다. 따라서 GPU의 네이티브 명령 세트를 노출 시키거나 (CTM) 얇은 변환 레이어로 취급하는 등 (CUDA)에서도 성공할 수 있다고는 생각하지 않는다. 오프칩 & 온칩의 가속 코어는 QuickAssist 모델을 통해서 지원하지만, 그 이상으로는 뛰어들지 않을 생각이다. 네이티브 명령 세트에서의 고 스루풋 컴퓨팅은 Larrabee에서 실현한다는 것이 지금의 전략이다.

 그러면 Larrabee는 GPU와 어떻게 다를까?

 


MIMD의 Larrabee 대 SIMD의 GPU의 대결

 GPU 프로그래밍 모델의 복잡함은 GPU의 기본 구조에서 오는 부분도 많다. 현재 단일 쉐이더형 GPU의 많은 공통된 특징은 라지 SIMD (Single Instruction, Multiple Data)형 머신인 점이다. GPU는 4 ~ 32개 따위의 다수의 쉐이더 프로세서 코어가 같은 명령을 실행한다. 단일 명령 유닛이 복수개의 프로세서를 제어하는​​ SIMD 형의 벡터 프로세서가 GPU이다.

 이에 비해서 Larrabee는 개별 프로세서 코어가 별도의 명령을 실행하는 MIMD (Multiple Instruction, Multiple Data) 접근을 취한다. 통상의 CPU 멀티 코어와 기본적으로 같은 구조로 보인다. MIMD 머신상에서 데이터 병렬 컴퓨팅을 행하는 것이 Larrabee의 접근이다. 한결 Cell Broadband Engine (Cell BE) 같다고 말해도 좋다. 다만, Larrabee도 MIMD 구성의 각 프로세서 코어의 안은 비교적 짧은 SIMD의 구성으로 되어있는 것으로 보인다.

 SIMD (벡터) GPU와 MIMD Larrabee 라는 구도는 고성능 컴퓨팅 (HPC)의 세계에서의, SIMD 대 MIMD 논쟁을 연상시킨다. AMD의 Phil Hester (필 헤스터) 씨 (Senior Vice President & Chief Technology Officer (CTO))는 GPU의 대두를 일찍이 벡터 슈퍼 컴퓨터를 마이크로 프로세서가 때려 잡던 때의 반대 현상이라고 형용한다. 즉, 대충 말하면, AMD는 SIMD 형이 효율적인 시대가 다시 왔다고 생각한다.

 

 

마이크로 프로세서와 GPU 각각의 역전 현상

 

 

 

Justin R. Rattner (저스틴 R · 래트너) 씨

 

 

 반면 Intel의 Justin R. Rattner (저스틴 R · 래트너) 씨 (Senior Fellow, Corporate Technology Group 겸 CTO, Intel)는 다음과 같이 말한다.

 "나도 일종의 기시감 (데자뷰)을 느낀다 (웃음). 나는 이전에 고성능 컴퓨팅 업무를 하고 있었는데, 그곳에서는 언제나 MIMD 대 SIMD 논쟁이 있었다. 어느쪽 아키텍처가 유익한가 논쟁이 있었다.

 우리가 보여준 Larrabee의 다이어그램 그림을 보면 알 수 있듯이 Larrabee는 MIMD 시스템이다. MIMD 머신으로 전통적인 캐시 계층을 연결한 구조로 되어있다. 따라서 매우 라이트 웨이트로 낮은 레이턴시인 스레드 간의 커뮤니케이션이, (프로세서 코어) 어레이의 어디에서도 가능하다.

 이 구조는 오늘날의 GPU와는 크게 다르다. GPU는 SIMD 머신으로 상당한 큰 (벡터)로 다루고 있다. MIMD 머신 대 SIMD 머신의 이야기가 반복되고 있다. 또한 GPU는 (전통적인 캐시 계층도 없기 때문에) 쓰레드 간의 (커뮤니케이션) 레이턴시는 아득히 길다.

 MIMD이며, 전통적인 캐시 계층을 가진다. 이 2 가지가 Larrabee의 차이가 된다 "

 여기에서 Rattner 씨가 언급하고있는 다이어그램 그림이라는 것은 Larrabee의 수석 아키텍트로 Intel Technology Journal에 소개된 Doug Carmean 씨가 올해 (2007 년) 초에 Intel Technical Lecture Series의 하나로 행한 미래 CPU 아키텍처의 강연에서 보여준 그림이라고 추측된다. 그 그림을 단순화 한 것이 아래 그림이다. 계층화 된 캐시를 가지고 각 프로세서 코어가 독립적인 것으로 보인다.

 

 

Larrabee의 블록도?


 이렇게 보면, Larrabee와 GPU의 싸움은, 클러스터 대 벡터 슈퍼 컴퓨터의 재래라고도 말할 수 있다. 매니코어 시대의 CPU가 노리는 것은 과거의 HPC 레벨의 성능이며, 응용 프로그램도 같은 방향이기에 이것은 당연 할지도 모른다.

 

2007년 10월 11일 기사

 

 

[분석정보] 인텔이 목표하는 네할렘 에서의 GPU와 CPU의 통합

 

 

[분석정보] Larrabee는 SIMD와 MIMD의 균형 - Intel CTO가 말한다.

 

 

[정보분석] Penryn의 1.5배 CPU 코어를 가지는 차세대 CPU "Nehalem"                    

 

 

[아키텍처] Intel의 차기 CPU "Nehalem"의 설계 개념은 "1 for 1"

 

 

[정보분석] 인텔의 2013년 CPU 하스웰로 이어지는 네할렘 개발 이야기

 

 

[정보분석] 2년 주기로 아키텍처를 쇄신하는 Intel

 

 

[정보분석] 2개의 CPU 개발팀이 경쟁하는 Intel의 사내 전략

 

 

[정보분석] Merom(메롬) 이후인 Nehalem(네할렘) 과 Gilo(길로)

 

 

[정보분석] 같은 무렵에 시작된 Nehalem과 Larrabee와 Atom

 

 

[정보분석] Intel 힐스보로가 개발하는 CPU 아키텍처의 방향성