데이터 병렬로 향하는 Intel과 AMD와 NVIDIA가 격돌
Intel은 2008 ~ 9년에 투입하는 매니 코어 프로세서 "Larrabee (라라비)". Intel은 Larrabee에 의해 "하이 스루풋 컴퓨팅" 이라고 Intel이 부르는 데이터 병렬 애플리케이션 용 시장에 전용 프로세서로 진입한다.
그러나 이 시장을 노리는 것은 Intel 만이 아니다. AMD와 NVIDIA, 두 회사도 동일한 시장을 목표로 하고 있다. 오히려 GPU 코어를 사용한 "GPGPU (범용 GPU)"또는 "GPU 컴퓨팅"으로 선행한 것은 AMD와 NVIDIA이다. 흥미로운 것은 3사가 3사 모두 데이터 병렬 애플리케이션을 새로운 국경 생각, 거기에 주력하려고 하고 있는 점. 새로운 분야에서의 프로세서 전쟁이 이제 막 시작되려 하고 있다.
무엇보다 이것은 갑자기 시작된 흐름이 아니다. ATI (현 AMD)와 NVIDIA는 5년 전부터 GPU의 범용적인 응용을 강조했다. 그리고 Intel이 Larrabee 프로젝트를 본격화시킨 것도 4년 전으로 보인다. 3사가 3사 모두 같은 시기에 같은 시장과 애플리케이션을 겨냥한 연구 개발을 시작한 것이 된다.
그 배경에는 기존의 범용 CPU에 의한 범용적인 컴퓨팅 성능의 업으로는 눈부신 어플리케이션의 변혁을 바랄 수 없게 되어 왔다는 사정이 있다. 원래, 무엇이 범용 컴퓨팅인지, 그 정의도 바뀌려 하고, Intel의 매니 코어 프로젝트를 이끄는 Jim Held 씨 (Intel Fellow & Director of Intel Tera-scale Computing Research, Intel)는 지적했다. 즉, 혁신적인 응용 프로그램이 요구하는 컴퓨팅 성능은 대량의 데이터를 병렬로 처리하는 유형으로 다가가고 있다. 그것이 프로세서 업계의 합의가 되어가고 있는 것 같다.
그리고 여기에 Larrabee를 투입하는 Intel을 두 회사는 강하게 경계하고 있다. 어떤 GPU 관계자는 "Larrabee야 말로 최대의 위협"이라고 한다. 그것은 GPU가 열고있는 신시장을 단번에 휩쓸 가능성이 있기 때문이다.
AMD에서 보면 Intel이 시장에서 표준을 세워, Intel의 프로그래밍 모델을 업계 표준으로되어 버리면, 재차 x86의 반복된 실패가 되어 버린다. 프로그래밍 커뮤니티 측에서는, 가능하면 한 종류의 모델이 바람직하다. 따라서 승자독식으로 Intel에 독점되어 버릴 가능성이 있다. Intel이 x86의 확장 명령어 세트에 Larrabee를 선택한 최대의 이유는 거기에 있다.
GPU 벤더로 있는 NVIDIA에 있어서도, Larrabee는 큰 위협이다. 그것은 CPU에 GPU 코어가 주입 되는 흐름이 있기 때문이다. 그렇게 되면, 메인 스트림 & 밸류 시장의 저가격 GPU 나 그래픽 통합 칩셋의 비즈니스가 성립되지 않게 되어 버린다. 그래픽만큼 특화 하고 있다면, NVIDIA는 독립형의 GPU 벤더로는 생존하는 것이 불가능해 진다.
이러한 사정으로부터, GPU 벤더인 NVIDIA는 GPU의 존재를 강하게 내세우기 위해, GPU의 범용 컴퓨팅을 강하게 추진하고 있다. CPU에 GPU 코어가 주입 되어도 사용자가 독립 GPU를 요구하는 수요를 창출하기 때문이다. NVIDIA의 새로운 길은, GPU 컴퓨팅으로 열려 있기 때문에, Larrabee가 가장 큰 위협이 된다.
Intel의 Larrabee의 가정 로드맵
그래픽 성능이 열쇠
그러면 Intel의 Larrabee를 AMD 간부는 어떻게 보고 있는 것일까?
AMD는 CPU의 FUSION 화에 의해 CPU와 GPU의 기능을 통합하고 Larrabee가 목표하는 데이터 병렬 컴퓨팅도 커버하려 하고 있다. 또한 구 ATI는 독립 GPU를 데이터 병렬 프로세서로 추진해 왔다. 더 범용적인 데이터 병렬형의 컴퓨팅을 위한 프로세서 개발을 목표로 하는 점에서는, Intel과 AMD는 일치하고 있다.
그러나, Intel과 AMD의 구상에는 몇 가지 차이가있다. 우선 눈에 띄는 것은 AMD가 GPU 코어에서 데이터 병렬 컴퓨팅을 커버하려고 하는 반면, Intel이 Larrabee를 GPU는 아닌 데이터 병렬을 위한 프로세서의 위치라는 점이다. Intel은 Larrabee의 다수의 CPU 코어의 각각이 IA (Intel Architecture,이 경우 x86) 명령어 세트와 호환성을 가지는 것을 밝히고 있다.
Larrabee 코어의 개요
어떤 AMD (구 ATI) 관계자는 "우리는 오랫동안 Larrabee는 더 GPU적인 아키텍처라고 듣고 있었다. Intel 스트림 컴퓨팅 프로세서로서 Larrabee를 발표한 것에 매우 놀라고 있다"고 말했다 .
AMD Dave Orton 씨
실제로 Larrabee에 대해서는 Intel의 독립 GPU라는 억측이 퍼졌다. AMD의 구 ATI 부문을 이끄는 Dave Orton 씨 (Executive Vice President of Visual and Media Businesses)는 다음과 같이 시사했다.
"우리는 모두 Intel의 Larrabee에 대해서 다양한 추측을 하고 있었고, 나는 Intel이 그 추측을 즐기고 있는 것이라고 생각하고 있다.(웃음). 그러나 나는 (세간의 억측과는 다른) 다른 이야기도 듣고 있다고 생각한다. 그것은 (세간의) 억측을 거의 부정하는 것이다."
업계의 추측 이상의 정보를 AMD는 잡고있는 것 같다. 그러면 AMD가 보기에 Larrabee는 어떤 프로세서인지. Orton 씨는 개인적인 추측으로 다음과 같이 말한다.
"내가 처음 생각한 것은, Intel은 스트리밍 컴퓨팅의 과제에 몰두한다 생각했으나, 그 요소 (프로세서)가 그래픽을 처리 가능한 것을 발견했다는 것이었다. 만약 그렇게 생각한다면, 그것은 (Larrabee)는 "그래픽에 최적화 된 엔진으로 스트리밍 컴퓨팅도 가능하다" 는 것이 아니라 "스트림 (컴퓨팅) 엔진이 그래픽도 가능하다"는 것이라고 말해 진다. 그 시나리오의 경우 (Larrabee가) 일반적인 GPU로 되는가 하면, 아마 그렇지 않다. 그렇게 (GPU에) 되더라도 최초의 세대는 아닐 것이다. 다만 앞의 일은 알수 없지만"
Orton 씨는 Larrabee가 범용적인 스트리밍 컴퓨팅 용도로 설계되어 있다고 하면, GPU로 충분히 쓸수 있는 장치가 되지 않을 가능성이 있다고 지적한다. 연산 성능에 비하면 그래픽 성능이 낮은, 그런 케이스는 충분히 생각될 수 있다. 그리고 GPU로 고성능이 아니면 그래픽 이라는 넓은 시장을 획득하게 되어 칩의 출하 개수를 늘려, 비용을 낮출는 것이 어려울지도 모른다.
역으로 말하면, 이것은 GPU 코어를 사용한 AMD의 장점이다. AMD의 접근은 독립 GPU, 그리고 FUSION, 이들에 걸쳐 동일한 프로그래밍 모델을 이용할 수 있다. 칩 비용을 낮출뿐만 아니라 보급되어 있는 GPU에 위로 서는 것으로,보다 넓은 인스톨 베이스를 소프트웨어 측에 제공 가능한 것이 강점이다.
x86과의 호환성이 걸림돌이 된다고 지적하는 AMD
AMD Phil Hester 씨
한편, AMD의 Phil Hester (필 ·헤스터) 씨 (Senior Vice President & Chief Technology Officer (CTO))는 Larrabee 에서의 x86 명령 세트의 구현이라는 점에 의문이 있다고 지적한다.
"Intel이 Larrabee의 설계에서 어떤 선택을 했는지는 아직 명확하지 않다. 그러나, Intel 대 AMD 라는 논의를 떠나서 데이터 병렬형의 애플리케이션을 위한 프로세서를 가장 효과적으로 설계하는 방법이라는 논점에서 이야기가 가능하다.
PC 업계 전체에 걸쳐 살펴보면 x86 프로세서 업체는 그래픽이나 미디어 같은 작업에 향하는 명령 세트를 계속 늘려왔다. 그 한편에서는, GPU 벤더는 최근 GPU를 모듈화하여 어떤 종의 범용성을 갖게 하는 기능을 추가해 왔다. 보다 범용 프로세서적인 머신에 가까이 왔다. 라고 바꿔 말해도 좋다. 양자는 서로 반대의 위치에서 서로의 위치에 가까워지고 있다.
따라서 이것을 CPU와 GPU의 전쟁이라고 하는 견해도 있다. 그러나 솔직히 말하면, 이것은 인위적인 전쟁이다. 왜냐하면 CPU와 GPU 각각의 개발자는 지금까지 다른 기업에 속해 있고, 그들의 기술을 일치 시키는 것도 협력하는 것도 할 수 없었기 때문이다. 따라서 CPU와 GPU 각각이 독자적으로 움직이고 있었다. 그것이 우리 (AMD와 ATI)가 실제로 합류 하기까지의 상황이었다.
이러한 상황에 있었기 때문에 CPU 기업은 (데이터 병렬 프로세서의 개발에서도) CPU적인 생각, 모두를 CPU에 연결하려 한다. CPU와의 호환성 CPU에서의 발전을 생각한다. 그것이 (Larrabee에 대해) Intel이 행한 선택일지도 모른다. 그리고 나는, 그것은 근본적인 잘못된 사고방식 이라고 생각한다. 왜냐하면 그것에서는 빨리 움직이려고 하는 (데이터 병렬형) 애플리케이션의 구조로 적합한 설계는 할 수 없기 때문이다.
그것들 (x86 프로세서와 데이터 병렬 프로세서)을 통합한 설계가 가능한가 라고 하면, 그것은 물론 가능하다. 그러나 실행 효율을 생각하면 좋은 선택은 되지 않는다. x86 명령 세트의 프로세서는 범용 용도로는 좋지만, 병렬 데이터 실행에 적합한 머신은 되지 않는다. 결코 그에 쓰이게 설계되어 있지 않다.
그러나 우리의 경우 CPU와 GPU 각각의 기업이 융합하여 각각의 디자이너가 함께했다. 따라서 각각의 애플리케이션에 적합한 설계 (프로세서 코어)를 통합 할 수 있다. 우리는 그것들 (x86 CPU와 데이터 병렬 프로세서)을 원칩으로 하지만, GPU 자체에는 CPU의 명령 세트는 구현하지 않는다. GPU의 명령 세트를 CPU의 유저 명령으로 명령 스페이스에 통합한다. CPU 명령 세트를 구현한 데이터 병렬 머신을 만드는 것은 아니다 "
AMD는 x86 CPU와 GPU 각각 최적화된 코어를 통합
Intel과 AMD, CPU 벤더 2 개 장기적인 비전에는 공통점이있다. 그것은 x86 명령 세트와 스트림 프로세서의 명령어 세트의 융합을 목표로하는 점이다. 동일한 명령어 스트림 속에서 양자의 명령을 처리할 수 있도록 기존 x86 소프트웨어 환경의 자산을 살리는 것으로 보인다. 다른 것은 스텝을 밟는 방향과 접근이다.
Intel의 Larrabee는 데이터 병렬 프로세서 자체에 x86 명령 세트를 구현하는 것으로 보인다. 높은 스루풋 데이터 병렬 프로세서이며, x86 명령과의 후방 호환성을 가지는 아키텍처이다. 그것과 비교해, AMD의 FUSION은 x86 CPU 코어와 GPU 코어를 통합하고 범용 용도의 CPU 코어와 데이터 병렬 용도의 GPU 코어가 각각의 태스크에 최적화 될 것으로 보인다. 간단하게 말하면, Intel은 GPU 같은 x86 CPU를 만들려고하고 있으며, AMD는 x86 CPU와 GPU 각각의 특징을 유지하면서 통합하려 하고 있다.
참고로 AMD는 명령어 세트의 통합화 까지 스텝을 밟는다. 지금까지 AMD는 GPU의 쉐이더 코어의 네이티브 명령어 세트를 "Close to the Metal (CTM)" 정책으로 공개해 왔다 (GPU 전체의 제어 명령은 추상화하고 있다). 그러나 이번 Radeon HD 2000 (R600) 세대에서는 그 위에 런타임 계층 "AMD Compute Abstraction Layer (CAL)"를 씌우는 것으로 CPU와 GPU의 상위에서의 추상화와 융합을 행한다.
그리고 마지막 단계에서 CPU의 명령 세트 공간에 GPU 명령 세트를 통합하고 x87 코 프로세서의 용도로 GPU 코어를 처리할 수 있도록 한다. CPU 명령어 세트에 네이티브 통합하기 위해서는 지속적인 명령의 지원이 필요하며, 그러기 위해서는 GPU의 명령 세트 아키텍처를 확고히 할 필요가 있다. 현재는 아직 도중에 있다. 또한 미래에 걸쳐도 런타임에서의 추상화는 유지하고 런타임 경유로 액세스도 가능하게 한다.
x86이 아닌 경우의 이점을 가진 NVIDIA
NVIDIA David B. Kirk 씨
그러면 CPU 벤더가 아닌 NVIDIA는 어떤가? NVIDIA는 GPU 아키텍쳐를 보다 범용적인 데이터 병렬 컴퓨팅에 적합한 형태로 진화시키고 있다. NVIDIA의 David B. Kirk (데이비드 B 커크) 씨 (Chief Scientist)는 GeForce FX (NV3x) 아키텍처 때부터 GPU 서버로의 전개를 말했고 계속해 왔다. 그 영역은 NVIDIA GPU와 Intel Larrabee, AMD FUSION과 GPU가 정면으로 대립한다. NVIDIA는 이제는 "그래픽 칩"공급 업체가 아니다. 따라서 Larrabee가 최대의 적이다.
그리고 이 3사 중에서 NVIDIA만이 x86 명령 세트와는 떨어진 자세로 있다. 미래적으로도 x86 명령 세트를 GPU에 반입하는 것은 없을 것 이라고 한다. 이것이 NVIDIA와 CPU 공급 업체 2개사와의 결정적인 차이다.
Kirk 씨는 Larrabee와 FUSION에 대해 다음과 같이 말한다.
"그들의 현재 위치에서 하면 x86 명령 세트의 확장은 논리적인 단계라고 생각한다. 그들의 강점인 CPU 명령어 세트를 살리기 때문이다. 그러나 우리는 x86 코어를 가지고 있지 않기 때문에 (웃음) 그것은 우리에게 논리적인 단계는 될수 없다. 그렇지만 이것은 결코 우리의 약점이 되지 않을 것이다. 어떤 강점도 그 뒤는 약점으로 연결되어 있기 때문이다.
x86 호환은 매우 파워풀하고 강점이 될 것이다. 하지만 제약 조건 이기도 하다. 그들의 설계상의 선택을 제약하기 때문이다. 유산을 질질 끌면, 아무래도 병렬 스트림에 최적인 프로세서 설계를 하는 것이 어려워진다.
그것에 비교해, 우리는 완전히 백지에서 스타트 했다. 따라서 바람직하다고 생각하는 선택을 자유롭게 행하는 것이 가능하다. 유산에 끌려가는 일 없이 순수한 병렬 스트림 컴퓨팅 환경을 설계하는 것이 가능하다.
x86과 호환한다는 그들의 선택은 프로세서 (스트림 컴퓨팅은) 불필요한 복잡성을 반입하게 될 것이다. 그러한 호환 설계가 어려운 것은 (지난 프로세서) 역사가 증명하고있다. 반드시 무언가가 희생된다. 순수한 디자인을 목표로 우리의 선택이 장기적으로 좋은 결과를 가져 온다고 믿고있다 "
x86과의 호환성은 유용하지만 프로세서에 복잡성을 가져온다는 것이 NVIDIA의 견해다. 이 점에서 Kirk 씨의 관점은 Hester 씨와 일치하고 있다. 그리고 NVIDIA는 처음부터 데이터 병렬 컴퓨팅에 최적화된 명령어 세트와 마이크로 아키텍처로 하는 것으로 가장 효율적인 프로세서를 만들려고 하고 있다. 기존형의 범용적인 처리는 CPU에 맡기고 GPU는 최고인 설계를 추구한다는 것이 NVIDIA의 길이다.
NVIDIA는 이 코스에 따라 GPU 기능의 확충을 시작했다. 향후 64bit 부동 소수점 연산 (배정밀도) 기능의 추가와 1칩으로의 1TeraFLOPS 단정밀도 부동 소수점 연산 성능의 달성을 앞두고 있다.
3사 3모양의 접근으로 임하는 새로운 시장
현재 추정되는 Intel, AMD, NVIDIA,이 3자의 방향성의 차이를 정리하면 다음과 같다.
Intel의 Larrabee는 데이터 병렬 프로세서 자체에 x86 명령 세트를 구현하고 그것을 프로그램에 노출시키는 것으로 보인다. 미래는 Larrabee 아키텍처를 CPU에도 통합 할지도 모른다. 이 경우 런타임 층에서 제어를 실시할 가능성은 있다. 한편 Intel은 기존 GPU 아키텍처를 끌어와 코어에서 범용적인 병렬 컴퓨팅을 행하는 것은 별로 고려하지 않는다. 따라서 그래픽 성능은 미지수다.
AMD의 FUSION은 x86 CPU 코어와 GPU 코어를 통합해, 범용 CPU 코어는 기존의 태스크에 GPU 코어는 데이터 병렬형의 태스크에 특화 시킨다. GPU 코어의 네이티브 명령을 x86 명령 스페이스에 통합해 명령어 세트를 노출시키면서 런타임으로 감싼다. 또한 보다 높은 성능인 독립 GPU도 당분간은 병행해 제공해 간다. 소프트웨어 측은 CPU, GPU, FUSION에 대해 네이티브 명령 세트 또는 런타임 경유해 어디라도 액세스 가능하다.
NVIDIA GPU는 x86과는 전혀 다른 명령 세트 아키텍처에로 데이터 병렬 컴퓨팅에 완전히 최적화된 설계를 갖는다. NVIDIA는 범용적인 기능을 강화하고 있지만, 높은 그래픽 성능도 유지한다. 프로그래밍 모델은 GPU 하드웨어를 런타임 층에서 감싼다. 미래도 네이티브 명령 세트 자체는 은폐하는 것으로 보인다. 다만 AMD와 같은 모양으로 런타임의 중간 코드를 공개하는 것으로, 컴파일러 벤더들이 컴파일러를 개발할 수 있도록한다.
Intel이 Larrabee을 공개한 것으로, 향후 데이터 병렬 애플리케이션을 위한 3사의 경쟁이 과열되는 것으로 예상된다.
2007년 6월 18일 기사 입니다.
[분석정보] TOP500 슈퍼컴퓨터 순위 2013년 11월
[분석정보] 매니코어 프로세서로 손바닥 슈퍼 컴퓨터를 실현
[분석정보] 4만 8000개의 제온파이로 중국 톈허2 세계에서 가장 빠른 슈퍼 컴퓨터
[분석정보] TOP500 슈퍼컴퓨터 순위 2013년 6월
[제품뉴스] Intel Xeon Phi 새로운 폼 팩터 채용 포함 5모델 추가
[정보분석] 인텔 60코어 매니코어 "Xeon Phi" 정식발표
[분석정보] 인텔 슈퍼컴퓨터용 가속기 Xeon Phi 5110P 발표
[분석정보] Intel, HPC 전용 보조 프로세서 Xeon Phi 2013년 1월부터 일반용으로 출시
[분석정보] IDF 2012에서 주목한 한가지, 매니 코어 "Knights Corner"
[정보분석] 엔비디아 세계 최다 트렌지스터 칩 GK 110 공개
[정보분석] IDF 2011 Justin Rattner 기조연설 매니코어 시대가 다가옴 1/2부
[정보분석] IDF 2011 Justin Rattner 기조연설 매니코어 시대가 다가옴 2/2부
[정보분석] 같은 무렵에 시작된 Nehalem과 Larrabee와 Atom
[분석정보] Intel은 Larrabee 계획과 아키텍처를 어떻게 바꾸나?
[분석정보] 다시 처음부터 시작된 라라비 무엇이 문제였나?
[분석정보] 라라비 (Larrabee)의 비장의 카드 공유 가상 메모리
[분석정보] 인텔의 스칼라 CPU + 라라비의 이기종 CPU 비전
[분석정보] Larrabee는 SIMD와 MIMD의 균형 - Intel CTO가 말한다.
[정보분석](암달의 법칙) 2010년대 100 코어 CPU 시대를 향해서 달리는 CPU 제조사
[분석정보] GDC 2009 드디어 소프트 개발자 정보도 나온 "Larrabee"
[정보분석] Intel 힐스보로가 개발하는 CPU 아키텍처의 방향성
[정보분석] 팀스위니 미래의 게임 개발 기술. 소프트웨어 렌더링으로 회귀
[분석정보] 정식 발표된 라라비(Larrabee) 아키텍처
[분석정보] 베일을 벗은 인텔 CPU & GPU 하이브리드 라라비(Larrabee)
[정보분석] 암달의 법칙(Amdahl's law)을 둘러싼 Intel과 AMD의 싸움
[정보분석] 모든 CPU는 멀티 스레드로, 명확하게 된 CPU의 방향
[벤치리뷰] 인텔 제온 파이 5110P와 엔비디아 테슬라 K20 행렬 곱 실효 성능 비교
[벤치리뷰] N형 문제 프로그램의 인텔 제온 파이 이식 평가
[분석정보] Many-Core CPU로 향하는 Intel. CTO Gelsinger 인터뷰 1/2부
[분석정보] 5W 이하의 저전력 프로세서의 개발로 향하는 Intel
[분석정보] 메모리 기술 혁신이 컴퓨터 아키텍처의 변혁도 이끈다 Intel의 Rattner CTO가 보는 미래
[분석정보] NVIDIA, Radeon HD 2000의 사양에 이의
'벤치리뷰·뉴스·정보 > 아키텍처·정보분석' 카테고리의 다른 글
[분석정보] 인텔 네할렘과 AMD 퓨전 양사의 CPU + GPU 통합의 차이 (0) | 2007.10.11 |
---|---|
[분석정보] 인텔이 목표하는 네할렘 에서의 GPU와 CPU의 통합 (0) | 2007.10.05 |
[정보분석] Penryn의 1.5배 CPU 코어를 가지는 차세대 CPU "Nehalem" (0) | 2007.09.27 |
[분석정보] AMD가 2009년의 CPU 코어와 통합 CPU의 개요를 발표 (0) | 2007.07.27 |
[분석정보] 인텔이 추진하는 32코어 CPU Larrabee (0) | 2007.06.11 |
[분석정보] 고속화를 가져오는 Radix-16 Divider와 shuffle Engine (0) | 2007.05.24 |
[분석정보] 크게 다른 Radeon HD 2000과 GeForce 8000의 아키텍처 (0) | 2007.05.18 |
[분석정보] NVIDIA, Radeon HD 2000의 사양에 이의 (0) | 2007.05.15 |