Sunday, June 29, 2008

OpenCL? CUDA의 확장일까?

지난 개발자회의에서 맥 오에스텐의 다음 버전으로 발표된 스노우 레오파드에서 새로 추가될 기능 중 하나가 OpenCL (Open Computing Language)라는 것이다.

OpenCL은 피씨에 내장된 그래픽스 장치를 그래픽스용도가 아닌 일반 계산에 활용하는 GPGPU (General Purpose computing on Graphics Processing Unit)의 새로운 구현이다. CUDA 포럼에서는 이미 OpenCL이 어떤 형태가 될 것인가에 대한 논의가 조금씩 이루어지고 있고, 아마도 CUDA의 형태에서 크게 벗어나지 않지 않을까하는 의견이 많은 것 같다.

OS 레벨에서 GPGPU를 지원하는 라이브러리를 제공하는 것은 GPGPU 기술을 확산하는데 매우 큰 효과가 있을 것으로 생각된다. 애플의 경우에는 하드웨어를 한정하기 때문에 가능한 것일지는 모르겠지만, OS위에 한 계층을 올려서 그 위에 구현하게 되는 경우에는 아마도 하드웨어 제한이 그리 크지는 않을지도 모른다는 생각이 든다.

맥 오에스텐에서 성공적으로 GPGPU 기술을 활용하게 되면, 리눅스나 윈도 오에스에서도 결국 따라가지 않을 수 없을 것으로 본다. 물론 하드웨어 제한이 덜 한 오에스에서 구현하기는 더 어려울 수도 있겠지만...

아마도 Intel-nVidia가 같이 parallelized CPU 구현이 될 때 까지는 GPGPU 기술이 한동안 일반화 되는 수순을 밟지 않을까? multicore의 활용법을 아직 잘 찾아내지 못하고 있는 아키텍쳐 그룹에서 솔루션을 먼저 찾아낼 수 있을런지도 흥미로운 관전 포인트.

No comments: