엔비디아 (NVIDIA)의 CUDA, 마이크로소프트의 DirectCompute, 그리고 공개표준인 OpenCL은 GPGPU 기술로 서로 경쟁하고 있는 가운데 OpenCL의 규격을 제정하는 Khronos Group은 지난 월요일 OpenCL 1.1 규격을 비준했다는 소식이 xbitlabs에 올라왔다.
GPGPU의 공개표준인 OpenCL 규격을 제정하고 있는 Khronos Group은 기존 1.0에 머물던 OpenCL을 1.1 버전으로 스펙을 높여 비준하였다고 전했다.
OpenCL 1.1 규격은 병렬 프로그래밍의 성능과 기능을 향상하고 있으며, 기존 OpenCL 1.0과의 하위 호환성을 지원하는 것으로 알려지고 있다. OpenCL 1.1에는 병렬 프로그래밍의 호환성, 융통성과 기능 및 성능 향상을 위한 특정 기능들이 1.0 버전과 비교하여 더 추가되었고 추가된 내용은 아래와 같다.
- 3-Component Vectors를 포함한 새로운 데이터 타입과 이미지 포맷 추가
- 멀티플 장치들을 거쳐 멀티플 호스트와 프로세싱 버퍼를 다루는 명령어 제공
- 1D/ 2D 또는 3D 직사각형 지역의 읽기와 쓰기, 복사를 포함한 버퍼 지역의 동작
드라이브와 컨트롤 명령 실행 이벤트 향상
- Integer Clamp, Shuffle와 Asynchronous Strided Copies 등을 포함한 OpenCL C 내장 기능 추가
- OpenCL과 OpenGL 이벤트 사이를 이어주는 이미지와 버퍼 공유 효율 높여 OpenGL 상호 운용성 향상
여기에 추가로 Khronos는 OpenCL을 위한 C++ wrapper API를 공개했고 OpenCL 1.1 적합 테스트에 즉시 이용할 수 있도록 했다고 전했다.
OpenCL 1.0은 이종간의 병렬 프로세싱을 위한 상업적 기회를 제공했으며, OpenCL 1.0 등장이후 18개월이 지난 후 등장한 OpenCL 1.1 스펙의 출시로 프로그래머들은 병렬 컴퓨팅에 이전보다 더 효율적인 리소스를 활용할 수 있을 것이라고 OpenCL 워킹그룹의 의장이자 Khronos Group과 엔비디아 (NVIDIA)의 VP (Vice Presidnet)를 맡고있는 Neil Trevett는 밝혔다.
OpenCL 1.1은 적절한 시기에 출시되었으며, GPU 컴퓨팅 산업 전반에 빠른 성장 동력으로 활용될 수 있을 것이다. AMD는 멀티 벤터, 멀티 소스 인터페이스, 그리고 산업 표준 프로그래밍 모델 부분과 소프트웨어 개발 커뮤니티 등을 포함한 다양한 분야에서 그들의 제품에 최적화되고 시장의 잠재력을 이끌어낼 수 있을 것으로 믿는다. 그리고 우리의 ATI Stream 소프트웨어 개발킷에 OpenCL을 지원하여 AMD는 2011년 출시 예정인 AMD 퓨전시리즈 APU들의 아플리케이션 가속 잠재력을 이끌어낼 수 있을 것이라고 전했다. APU 디자인은 CPU와 GPU 양쪽다 OpenCL을 지원하며, 이를 통해 매치되지 않는 이종간의 컴퓨팅 플랫폼을 구축할 수 있게될 것이라고 AMD 퓨전 (Fusion) Experience Program의 VP (Vice President)를 맡고있는 Manju Hegde는 언급했다.
OpenCL은 현재의 프로세서 즉, GPU와 CPU 등을 포함한 프로세서들과 이종 프로세서들의 병렬 프로그래밍을 위한 공개표준 크로스 플랫폼 (Cross-Platform)으로 엔비디아, AMD, 인텔, 삼성 (SAMSUNG) 등이 포함된 Khronos Group을 통해 제정되고 있다.