본문 바로가기

Papyrus/Dizzy Report

GPGPU and Larrabee Project

인텔의 라라비 프로젝트는 이제 더 이상 비밀이 아닌, 일반인들도 쉽게 아는 단어가 되었다.

라라비 프로젝트를 간단히 말하면, CPU가 GPU의 역할도 할 수 있도록 하는 것이지만, 사실은 GPGPU로 대표되는 병렬 컴퓨팅의 연장선에 있는 것이다. GPU라는 것도 사실 행렬 계산과 같은 벡터 연산을 하드웨어로 구현한 것이다. 그리고 쉐이더라는 존재는 GPU를 CPU와 구별짓게 만든다. CPU와 GPU는 비슷하기도 하지만, 또 다른 부분도 적잖게 존재한다. 현 세대 GPU들의 쉐이더를 통한 3D 그래픽스에 특화된 벡터 데이터의 처리를 일반화된 x86 벡터 연산으로 얼마나 따라잡을 수 있을 것인가?

즉, 라라비 프로젝트는, 현재 존재하는 GPU를 완전히 대체하는 목적으로는 보이지 않는다. 예전의 수치 연산 프로세서가 CPU에 통합된 것처럼, 좀 더 복잡한 연산 능력을 하드웨어로 제공하는 수준으로 들어갈 가능성이 높다. 하지만, 예전처럼 단순히 수치 연산 프로세서가 통합된 것과는 다른 모습을 보일텐데, 근본적으로 지금 GPU 업계의 화두인 GPGPU라는 것을 염두에 두고 있기 때문이다. 사실, GPU는 CPU 못지 않은 막강한 연산 능력을 자랑하지만, 프로그래밍 활용도는 매우 낮은 편이다. GPU가 프로그래머에게 직접 공개되어 있지 않고, 애초에 범용으로 설계된 하드웨어 유닛이 아니기 때문이다. CUDA와 같은 물건이 존재하기는 하지만, 태생적으로 메모리 모델이 복잡해서 잘 활용하기 힘들다.

라라비 프로젝트의 첫 성과물은 NVIDIA나 ATI의 GPU들과 당장 대등한 경쟁을 할 수 없을 것이다. 이미 이들의 GPU들을 지원하는 소프트웨어는 대단히 많지만(DirectX, OpenGL, ....), 상대적으로 라라비는 생소하기 때문에 제대로 된 소프트웨어 지원이 없기 때문에 현존하는 소프트웨어에서의 성능 경쟁은 처참하게 밀릴 가능성이 대단히 높다. 많은 사람들이 라라비 프로젝트를 단순한 GPU와 CPU의 결합으로 인식하여 당장 3D 능력에서 현존하는 GPU들과 비교하지만, 이것은 잘못된 것이다. 라라비는 병렬 컴퓨팅의 일환으로 계획된 것이며, 3D 처리 능력에 특화된 것이라기 보다는, 좀 더 일반적인 벡터 연산 능력을 강화한 것이며, GPU로서의 성능은 하드웨어 텍스처 유닛 따위를 넣은 형태이기 때문이다. 물론, 시장의 특성상 완전히 범용적인 물건이 아닌, GPU의 특성에 대단히 가까운 물건이 되겠지만, 그래도 지금의 GPU들이 제공하는 GPGPU 형태보다 훨씬 범용적인 형태가 될 것이라 예측한다. 라라비는 완전히 새로운 3D 파이프 라인을 제공하며, 스케쥴 관리 역시 소프트웨어로 가능하다는 것은, 이러한 예측을 뒷받침한다. (그래서 x86 명령어 세트와 호환된다는 것인데..) 그리고, 아마도 하나 뿐만 아니라 복수의 코어를 탑재하여 성능을 끌어올리는 형태가 될 것이다. 라라비는 완전히 독립된 원칩 형태라기 보다는, 여러개의 이질적인 성격의 코어들을 통합한 형태가 될 가능성이 높다. 물론 전력 소비가 문제가 되기는 하겠지만, 그 순간 외부 커넥터의 형태로 연결될 수 밖에 없는, 그리고 전력 소비 문제에서 상대적으로 불리한 입장에 있는 현재 GPU들은 한순간에 패러다임의 너머로 사라지게 된다.

즉, 라라비 프로젝트를 주목하는 것은, 일반적인 병렬 컴퓨팅의 가능성 때문이다. 사실 NVIDIA나 ATI의 GPGPU 기술은 CUDA나 ATI Stream과 같은 형태로 존재하며, 안정적인 개발 방법도 존재하지만, 아무래도 CPU에서 직접 제공하는 것과 비교한다면 다소 성가시다. 그리고 애초에 라라비 프로젝트가 이런 GPU들과 직접적인 성능 경쟁에 나설 심산이었다면, 이런 형태의 접근 방법을 취하지 않았을 것이다.

즉, GPU는 CPU에 종속된 존재가 아닌, CPU와 대등한 입장에서의 연산의 병렬화라는 영역을 넘보려고 하고 있고, CPU는 GPU의 3D 연산에 특화된 부분(Shader와 같은)을 제외한 GPU의 고속 연산과 또 하나의 프로세서라는 점에서 오는 병렬 프로세서의 장점을 가져오려고 한다. 라라비 프로젝트는 정확하게 이들의 중간점에 있다. 라라비 프로젝트가 제대로 동작한다면, GPU는 그야말로 순수한 자신의 영역으로 돌아가는 처량한 신세가 될 것이고, 만약 실패한다면 CPU 부분 역시 순수한 자신의 영역으로 물러날 것이다.

어느 쪽이든, 각 업계는 차세대 화두인 병렬 컴퓨팅의 주도권을 내줄 생각은 없다. 코어 아키텍쳐로 귀찮은 AMD를 완전히 잠재운 공룡 인텔은, 이제 GPU 업계들과 다시 한번 다음 전쟁을 준비하고 있다. 라라비 프로젝트는 2010년 출시를 목표로 하고 있는데, 과연 어떤 결과를 보여줄지 궁금해진다.


덧글로, AMD 역시 ATI와의 합병에서 오는 장점으로, 라라비 프로젝트와 비슷한 퓨전 프로세서를 준비 중이라는 이야기가 있다. 아무리 공룡 인텔이라고 하더라도 GPU라는 부분에서 잔뼈가 굵은 ATI를 당장 따라잡을 수는 없는 노릇이다. AMD가 이번 전투에서 크게 지기는 했지만, 아직 순순히 물러날 생각은 없는 것 같다. 인텔이 공룡답게 완전히 새로운 아키텍쳐, 새로운 패러다임을 제시할 수 있는 힘을 보여줄 것이고, AMD는 현실적인 타협점으로서의 결과물을 보여줄 가능성이 높다고 예상된다.