본문 바로가기

Papyrus/Dizzy Report

GPU로 특화된 라라비는 없다?

http://www.pcworld.com/article/199758/intel_2yearold_nvidia_gpu_outperforms_32ghz_core_i7.html
http://www.idg.co.kr/newscenter/common/newCommonView.do?newsId=61978 (국내기사)

인텔의 라라비는 점차 용도가 바뀌어 가는 것 같다. 좀 비약해서 말한다면, GPU는 막강한 행렬 연산에 텍스처 처리 유닛을 붙여놓은 벡터 프로세서라고 할 수 있다. 즉, 부동소수점만을 전문으로 처리하는 과거의 x87 수학 코프로세서처럼, 외부에 존재하는 또 하나의 코프로세서라 할 수 있다. 라라비는 다수의 벡터 연산이 가능한 코어와 텍스처 유닛을 결합하여 'GPU를 대신할 수 있는 병렬 벡터 프로세서'로 시작했지만, 지금은 '병렬 벡터 프로세서'로만 후퇴한 것 같다.

당연히, 코어 i7의 벡터 연산 능력은 GPU에 한참 미치지 못한다. 인텔의 SIMD 명령어 세트인 SSE는 아무리 날고 기어봐야 GPU 앞에서는 쓰레기일 뿐이다. 인텔의 차기 SIMD 명령어 세트인 AVX조차 한 세대 전 GPU의 벡터 계산 능력을 앞지르기 힘들다. 물론, GPU는 분기 예측(branch prediction)과 프리페치(prefetch)와 같은 면에서는 CPU에 한참 미치지 못하며, 멀티 코어 문제까지 끼어들면 GPU는 GPU일 뿐이라는 결론이 나온다. 라라비는 GPU로서의 진화보다 강력한 병렬 벡터 프로세서로 방향을 잡은 것으로 보인다. 대규모 벡터 연산이 필요한 과학 기술용 컴퓨팅 시장부터 차근차근 공략해나가면 결국 CPU와 GPU의 경계는 허물지겠지만, 지금 섣불리 GPU 시장에 도전장을 내밀었다가 실패하면 다음 전투를 기약할 수도 없기 때문이다.

GPU는 하드와이어 T&L 기능부터 시작해서 프로그래밍 가능한 쉐이더까지 진화했지만, 본질적인 면에서는 프로그래밍 친화적이지 않다. 라라비가 개발자들에게 강력한 지지를 받았던 까닭은, 세대가 발전하면서 아키텍처도 크게 바뀌는 GPU보다 훨씬 확장성(scalability)이 좋기 때문이다. 즉, DirectX나 OpenGL과 같은 경우, 버전에 따라 하드웨어 아키텍처가 크게 바뀌기 때문에 소프트웨어를 유지 보수하는데 상당한 노력이 든다. 라라비는 현 세대 GPU 만큼의 강력한 SIMD 연산을 제공하지는 않지만, 이것은 어디까지나 단기적인 하드웨어 성능 문제이다. 라라비가 제공하는 유연한 프로그래밍 모델이라면, 단일 코어에서의 약간의 성능 손실 정도는 대단한 것이 아니다. 더구나, 라라비는 벡터 연산 코어 확장에 따라 연산 능력이 선형적으로 늘어나는 구조를 채택하고 있기 때문에, 코어 수 증가에 따라 얼마든지 성능이 확장 가능하다. 즉, DirectX나 OpenGL을 사용하는 소프트웨어가 그래픽 시스템의 버전이 바뀌면 엔진을 근본적으로 뜯어고치는 대수술을 해야 하는 것과 달리, 잘 만들어진 라라비용 소프트웨어 렌더링 코어는 그럴 필요가 없다. 쉐이더 스테이지마다 복잡한 형식에 맞춰 프로그래밍 해야 했던 것조차 라라비에서는 그 자체를 프로그래밍 할 수 있다. 즉, 쉐이더 아키텍처의 개선이나 확장에 따라 렌더링 코드의 근본적인 부분까지 손을 대야 했던 기존의 방식에 비해, 코드의 재활용성이 극적으로 높아지므로 개발비를 크게 절감할 수 있게 된다. 개발자들이 라라비를 지지했던 이유는 바로 여기에 있다.


Rendered scene by Larrabee prototype



Rendered scene by Larrabee prototype



문제는, 이런 라라비가 시장성이 없다는 것이다. 즉, 기존 하드웨어와 완전히 다른 아키텍처이기 때문에 DirectX, OpenGL과 같은 그래픽 시스템의 지원을 받을 수 없다. 이 정도의 병렬 벡터 프로세서를 사용자들이 활용할만한 분야는 역시 3D 렌더링 밖에 없는데, 전략적인 이유 때문에 시장에서 가장 큰 영향력을 갖고 있는 두 그래픽 시스템의 지원을 받을 수 없다면, 인텔 혼자서 모든 것을 하기엔 판돈이 너무 커진다. 라라비용 그래픽 시스템을 만드는 일은, 아무리 천재적인 개발자라고 하더라도 짧은 시간에 할 수 있는 일이 아니다. 초기 DirectX가 얼마나 쓰레기였는지, 그것이 쓸만하다고 여겨지는 8.1 버전에 이르기까지 어느 정도의 인력과 시간이 투자되었는지 생각해보라.

아쉽지만, GPU로서 특화된 라라비는 샌디 브릿지 이후 세대에서나 만나볼 수 있을 것 같다.


Sandybridge