본문 바로가기

Papyrus/Dizzy Report

NVIDIA's ARM based CPU : project name 'Denver'



이번 라스베가스 CES 2011에서 NVIDIA는 ARM 코어에 기반한 그들의 모바일 CPU, 코드명 덴버(Denver) 프로젝트를 세상에 알렸다. 이전에도 말했듯이 NVIDIA가 독자 생존할 수 있는 방법은 CUDA 패러다임을 확장하여 궁극적으로 인텔 라라비(Larrabee)와 비슷한 아키텍처로 가는 방법 밖에 없다. CUDA는 좀 더 유연한 프로그래밍 제어 구조와 더 직접적인 메모리 공유 구조를 가져야 하며, 인텔은 NVIDIA나 AMD의 메인스트림급 GPU의 병렬 / 벡터 SIMD 처리 성능이 필요하다.

문제는, NVIDIA가 직접 CPU를 제조하여 독자 영역을 확보하는 것보다, 인텔이 제시하는 '이종 코어(heterogeneous) 패러다임'이 훨씬 현실적이라는 점이다. 인텔의 문제는 x86 명령어셋이 CISC에서 출발했기 때문에 명령어 디코딩이 복잡하고, 이 때문에 상대적으로 ARM보다 더 많은 전력을 필요로 하며, 아직 그들이 꿈꾸는 GPGPU 패러다임을 실현해줄만한 '실체(= 제품)'가 없다는 점이다. 아톰이 선전하고는 있지만 아톰은 ARM에 비해 시장 진입이 매우 늦었기 때문에 모바일 부분에서의 세력은 아직 미미하다.

물론, NVIDIA도 정신이 나가지 않은 이상 일반 데스크톱 플랫폼에서 x86 플랫폼과 경쟁하려는 짓은 하지 않는다. 비교적 신생 코어인 ARM에 기반하여 모바일 분야에서 경쟁력을 확보하겠다는 전략은 괜찮은 전략이다. 특히, MS에서 ARM 기반 윈도우를 제작하겠다고 발표했기 때문에, 윈텔(WinTel)이란 듀오폴리(duopoly)는 사실 무너졌다고 봐야 한다. 다음 시대의 가장 중요한 전장은 데스크톱이 아니라, 모바일이다.

결론적으로, NVIDIA의 ARM 코어에 기반한, 그들의 CPU + GPU 통합 프로젝트는, 이미 CUDA라는 안정적인 GPGPU 솔루션을 당장 활용할 수 있으며, 만족할만한 성능을 얻을 수 있으리라 예상되는 플랫폼이다. 그러나, GPU라는 태생의 한계 때문에 CUDA가 가지는 프로그래밍 모델의 복잡함은 쉽게 개선되지 않을 것이다. 그리고, 인텔의 CPU + GPU 통합칩은 '편리한 병렬 / 벡터 x86 프로그래밍 모델'이라는 무기로, 느리지만 확실하게 경쟁사의 목을 조여오고 있다. 당장의 성능은 커다란 문제가 되지 않는다.

AMD가 빠졌다고? 물론, 그들의 APU에 기반한 접근법은 참신하다. 그러나, 경쟁사들의 화이트 페이퍼도 그에 못지 않게 화려했지만, 실제 초기 제품들은 시장에서 처절한 평가를 받았다는 점을 기억하라. 페르미의 기술적인 센세이션은 대단했지만 여전히 난해한 CUDA 프로그래밍 모델을 크게 개선하지 못했으며, 인텔의 라라비는 아직도 꿈속에서나 존재한다. AMD는 하루라도 빨리, 개발자들에게 손에 잡히는 무언가를 던져주어야 한다. 막연하게 오픈 소스로, 모두가 참여하는 형태로 프로젝트를 진행하겠다는 말은, 최대한 빨리 무언가를 선보여야 하는 시기에는 대단히 무책임한 말이다(적어도, 공식적으로 추진하는 것이라고 하기에는 확실한 형태가 없다는 뜻이다).