2009년 3월 30일 월요일

AMD와 Havok, OpenCL기반 물리 가속을 선보이다.

 nVidiaCUDAPhysX 가 여러 업체의 채택됨에 따라 지원 제품도 점차 늘어나 많은 분들이 조금씩 혜택을 받을수 있게 되고 있는 반면 AMD/ATi는 특별히 이렇다할만한 것이 없어 보이는 상황이었죠.

 아시다시피, GPGPU기술에서 AMD/ATi는 nVidia의 CUDA에 대항해 자체 개발 중이었던 CTM(Close To Metal)을 포기하고 범용기술인 OpenCL[footnote]Open Computing Language; OpenGL과 OpenML등의 업계표준을 개발한 Khronos 그룹에서 만든 GPGPU기술.
 3DLABS, Activision Blizzard, AMD, Apple, ARM, Barco, Broadcom, Codeplay, Electronic Arts, Ericsson, Freescale, HI, IBM, Intel Corporation, Imagination Technologies, Kestrel Institute, Motorola, Movidia, Nokia, NVIDIA, QNX, RapidMind, Samsung, Seaweed, TAKUMI, Texas Instruments등 반도체와 모바일 및 그래픽에 관련된 쟁쟁한 회사들이 Khronos그룹의 회원으로써 개발에 참여했다.[/footnote]를 선택해 ATI Stream이라는 이름으로 개발중인 상황이고, 물리엔진은 nVidia의 PhysX 대신 Intel에 인수된 Havok을 지원하기로 밝힌 상황이죠.

 이번에 게임개발자 회의에서 Havok/AMD팀이 OpenCL를 이용한 데모를 선보였습니다. 이번에 선보인 것은 Havok ClothHavok Destruction에 대한 데모로 nVIdia제품에서만 동작하는 CUDA기반 PhysX와는 달리 (CPU가 Intel이든 AMD든, GPU가 ATi든 nVidia이든)OpenCL을 지원하는 모든 제품에서 동작이 가능하다는 점이 가장 큰 특징이겠죠.

 GPGPU기반의 물리엔진이라는 측면에서Havok과 PhysX의 대결구도는 현실적인 물리효과 표현과 게임진행상 물리표현 제약 간의 논쟁에 대한 해결에 도움이될 겁니다. 즉, 기존엔 물리효과 표현이 어려웠던 낮은 성능의 CPU에서도 현실적인 물리효과의 표현을 기대할 수 있겠죠.

 아래는 선보인 데모 중 하나.(땋은 머리의 움직임에 유의.)

 nVidia의 CUDA를 지원하는 제품들이 점점 쏟아지고 있는 반면에 OpenCL을 지원하는 제품들은 아직은 찾아보기 힘듭니다.

 이는 OS차원에서 OpenCL를 지원할 Mac OS X v10.6(Snow Leopard)이 6월 8일에 공식 발표될 것이라는 점 외에도 OpenCL기반으로 설계하는 것이 CUDA기반으로 제작하는 것이 더 어렵기 때문이기도합니다.

 현재 nVidia제품에서만 동작하는 CUDA와 달리 OepnCL은 각종 CPU, GPU, DSP를 모두 망라해 지원하는 기술이라 메모리 관리 등 밑단까지 모두 설계해야 합니다. 물론, 이 부분은 역으로 보면 밑단까지 설계가 가능해 CUDA등보다 좀 더 최적화가 가능한 자유도가 높은 기술이라는 뜻이 될 수도 있겠죠.

 게다가, CUDA가 2007년 처음 선보인 이래 세번째 버전으로 나아가고 있는 반면 OpenCL은 겨우 작년 12월에 1.0이 갓 나온 상황이라 좀 더 편해지고 다양한 기능이 추가되어 발전될 것이라는 것은 당연하겠죠.

 다음은  그밖의 다른 데모들
붉은 드레스의 움직임에 유의.
장대에 걸린 천들의 움직임에 유의.
다리가 파괴되면서 기차가 추락하는 모습에 유의.
120명의 캐릭터들과 옷이 움직이는 모습에 유의.

 P.S 일반적으로 AMD/ATi제품은 PhysX를 지원하지 않는 것으로 알려져 있다. 실제로 AMD에서 PhysX지원 드라이버를 공식적으로 개발하고 있지 않으니 사실이라고 봐도 무방할지도 모르겠다.

 하지만 PhysX를 사용할 수 있는 희망이 보이긴한다. 이스라엘에 있는 NGOHQ팀에서 PhysX를 지원하는 AMD/ATi용 드라이버를 개발중이라는 것은 아는 사람이면 아는 얘기일것이다. 게다가, 실제로 작년 6월엔 HD 3850에서 PhysX를 인식하는데 성공한 인증샷을 공개하기도 했다.