2008년 03월 25일
건담으로 풀어본 NVIDIA(CUDA) vs INTEL(라라비), Next Game API?
NVIDIA와 INTEL의 행보가 심상치 않다.
NVIDIA에서는 CUDA를 대대적으로 홍보하고 나섰고, 이에 발맞춰 인텔에서는 라라비(Larrabee)로 치고 나왔다.솔직히 하드웨어 대하여 구체적으로 뭐가 좋다 나쁘다라는 건 잘 모르겠고, 대략적으로 내가 느낀 상황만 정리해 보겠다.
아다시피 둘의 지향점은 같다고 볼 수 있다.
CUDA는 GPU가 가진 병렬처리능력을 최대로 활용할 수 있는 새로운 프로그래밍 아키텍처고,
CUDA는 GPU가 가진 병렬처리능력을 최대로 활용할 수 있는 새로운 프로그래밍 아키텍처고,

[그림-1] CUDA의 아키텍처
라라비는 병렬처리능력을 극대화한 프로세서다.(인텔에서는 GPU란 용어를 사용하지 않고있다.)
여기서 핵심은 병렬처리능력이라고 할 수 있다.

[그림-2] GPU vs CPU
[그림-2]을 보면 CPU와 GPU의 차이를 극명하게 알 수 있다.
CPU는 고성능 연산능력을 가진 비싼 유닛을 조금(quad core면 4개)가진 놈이고
GPU는 저렴한 연산능력을 가진 값싼 유닛을 많이(128개 이상 가능)가진 놈이다.
CPU는 고성능 연산능력을 가진 비싼 유닛을 조금(quad core면 4개)가진 놈이고
GPU는 저렴한 연산능력을 가진 값싼 유닛을 많이(128개 이상 가능)가진 놈이다.
건담으로치면 건담 프로토타입(RX-78형)을 4개 가진 팀이 CPU고, 건담 양산형 짐(RGM-79형)을 128개 가진 팀이 GPU란 말이 되겠다.

[그림-3] gundam vs gm
아무튼, NVIDIA는 GM을 마구 많이 만들어서 물량으로 승부하겠다는 것이었는데, 이번에 INTEL에서 라라비를 발표하면서 상당히 껄끄럽게 되었다. 라라비의 핵심은 결국 RX-78을 양산하겠다는 것인데, 이걸 그림으로 그리면 다음[그림-4]가 된다.

[그림-4] 32 vs 128 core
물론 이 싸움이 제대로 되려면 몇가지 단서가 붙는다.
1. 과연 고급유닛인 건담이 양산이 될 것인가?
2. 고급유닛인 건담이 제값을 할 것인가?
2. 고급유닛인 건담이 제값을 할 것인가?
"1. 과연 고급유닛인 건담이 양산이 될 것인가"라는 건 답이 없다.
인텔에서 하겠다면 하는거지, 우린 그냥 기다려보면 되는 것이다.
인텔에서 하겠다면 하는거지, 우린 그냥 기다려보면 되는 것이다.
"2. 고급유닛인 건담이 제값을 할 것인가?"
이건 좀 심각하다. 건담은 전쟁용 유닛이다. 따라서 고급 성능이 승패를 좌우한다. 하지만, 건담으로 토목공사를 할수는 없지 않은가? 값비싼 건담이 대운하를 파는데 효율적인지는 따져봐야 하는 것이다. 라라비는 기본적으로 IA와 x86니모닉을 계승한다. IA와 x86니모닉이 그래픽 렌더링이나 물리연산에 효율적인지는 검증이 필요한 것이다. 그에 반해서 GM은 저렴하다는 장점으로 대운하를 파는 삽질에 동원되어도 별 불만이 없을 것이다.(GM이 원래 삽질용으로 개발된게 아니라는 보장도 없잖아? ㅋㅋ)
이건 좀 심각하다. 건담은 전쟁용 유닛이다. 따라서 고급 성능이 승패를 좌우한다. 하지만, 건담으로 토목공사를 할수는 없지 않은가? 값비싼 건담이 대운하를 파는데 효율적인지는 따져봐야 하는 것이다. 라라비는 기본적으로 IA와 x86니모닉을 계승한다. IA와 x86니모닉이 그래픽 렌더링이나 물리연산에 효율적인지는 검증이 필요한 것이다. 그에 반해서 GM은 저렴하다는 장점으로 대운하를 파는 삽질에 동원되어도 별 불만이 없을 것이다.(GM이 원래 삽질용으로 개발된게 아니라는 보장도 없잖아? ㅋㅋ)
대운하를 깊게 파야한다면 대량으로 물량 투입을하면 된다.
추가적으로 CUDA는 이미 제공되는 아키텍처라서 당장에 활용이가능하다는 장점이 있는 반면, 라라비는 문서밖에 나온게 없어서 돌려볼 방법이 없다.
아무튼, 이 추세대로 간다면 GPU(혹은 그에 준하는 병렬처리 전용프로세서)는 더욱더 범용화가 될 것이 뻔하다.
그렇다면, 지금처럼 DirectX나 OpenGL을 사용한 셰이더 프로그래밍이라는 패러다임도 변화하지 않는다고 누가 장담할 수 있을까? 지금은 별볼일 없는 기술이 되어버린 소프트웨어 렌더러나, 셰이더의 한계상 구현이 껄끄러운 전역조명(Global Illumination)도 직접 프로그래밍이 가능할 것이다. 즉, DX나 GL같은 그래픽 API들은 최소한의 지원기능만을 남겨둔채 퇴보할 것으로 예상된다. 프로그래머(특히 게임 프로그래머)들은 기본적으로 OS나 하드웨어에 대한 무한대의 접근권한을 필요로 하는데, DirectX나 OpenGL은 그점에서 앞으로의 방향성에 맞지 않는다.
재밌는 세상이 올것 같다. ㅋㅋㅋㅋㅋ
# by | 2008/03/25 17:08 | 나는 프로그래머다 | 트랙백(1) | 덧글(8)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : 멀티 코어 이야기 - CUDA와 Larrabee
또 멀티 코어 이야기입니다. 이번에는 김용준님의 기막히게 재미있는 글을 하나 소개해 드립니다.건담으로 풀어 본 nVidia(CUDA) vs Intel(Larrabee), Next Game API?말미에 언급하신 GI(Global Illumination)의 경우 예전에 Game Institute에서 관련된 세미나를 통해서 20.....more
라라비의 프로세서들은 RX-78 이라고 보기는 힘듭니다. 건담 X 의 비트로봇이 더 정확한 비유가 될 것입니다.
따라서 정확한 비교라기보다는 대략적인 비교를 이렇게 표현한 것으로 이해해 주세요. ^^
프로그래머들 머리 쥐날듯....