
크로노스 그룹, 차세대 OpenGL - Vulkan API 발표
크로노스 그룹은 산업계 표준화 컨소시엄으로 가장 대표적인 표준인 OpenGL은 그래픽스 응용을 위한 API (응용 프로그래밍 인터페이스)로서 그래픽스 응용 개발에 핵심적인 요소다. OpenGL은 데스크탑 PC나 워크스테이션용으로, OpenGL ES는 모바일 기기를 위한 표준으로 구분되어 있다. 시장에서는 윈도우 계열PC에서는 DirectX가 주로 사용되지만, 이와는 대조적으로 모바일 환경에서는 OpenGL ES가 iOS와 안드로이드에 채택되어, 대부분의 스마트폰용 그래픽스 응용은 OpenGL ES로 개발된다.
새로 발표된 Vulkan의 내용을 살펴보면, 모든 종류의 플랫폼에서 통일된 API를 사용한다는 점이 눈에 들어온다. Vulkan Driver는 밀리와트 전력을 사용하는 스마트 시계와 같은 웨어러블 장치로부터, 스마트폰과 태블릿 등의 모바일 기기, 랩탑, PC와 함께 킬로와트급 전력을 사용하는 워크스테이션 GPU에서 동일하게 사용하는 것을 목표로 설계되었다.
또 하나의 중요한 변화는 그래픽스 라이브러리라는 “GL”이라는 명칭의 장점을 희생하면서, Vulkan은 그래픽스와 컴퓨팅을 위한 API라는 점을 강조하고 있다. 홈페이지에는 Vulkan의 모토로 “그래픽스와 컴퓨팅이 하나로 - Graphics and compute belong together”라고 표현하고 있다. OpenGL의 최신 버전에 들어가 있던 “GL Compute” 기능이 원래 의도와는 다르게 그래픽스 기능을 위한 보조적인 계산 기능이라는 이미지가 강했던 것에 반해 이번에는 더욱 컴퓨팅이 Vulkan의 한 주축을 이루고 있다는 점이 강조된다.
기술적인 내용을 좀 더 살펴보면, Vulkan에서는 다중 스레드 처리가 가능해 질 것이며, 좀 더 직접적으로 GPU를 제어할 수 있는 기능이 추가되고, 계층적 구조로 되어 있는 설계를 통해 다양한 칩 벤더의 제품에서 공통적으로 코드 검증, 디버깅과 프로파일링을 편리하게 할 수 있게 될 것으로 기대하고 있다.
기술적인 변화 중 가장 주목해야 할 점은 Vulkan에는 SPIR-V (‘스피어-브이’로 발음)라 불리는 중간표현형식(Intermediate Representation)을 사용하기로 했다는 것이다. SPIR는 LLVM(Low Level Virtual Machine)에 기반한 기술로 가상 기계를 통해 언어와 구조에 독립적인 최적화된 코드를 생성할 수 있다. 이것은 기존의 GL의 Shading 언어의 처리에 큰 변화를 가져다 줄 수 있는 내용으로, 더 이상 GPU 드라이버에 Shader 컴파일러를 구현하여 탑재 할 필요가 없다는 것을 뜻한다. 이를 통해 얻어지는 장점은 매우 많다. 일단 게임 등 응용의 로딩 시간이 크게 개선될 것이고, 칩 벤더 입장에서는 드라이버 개발이 훨씬 간단해 지며, 응용 개발자 입장에서는 이전에는 훤히 공개되었던 쉐이더 소스코드가 더 이상 공개되지 않아 지재권을 보호 받을 수 있고, 다양한 개발 도구를 활용할 수 있게 됨에 따라 Shader 프로그램의 신뢰성과 이식성이 크게 향상 될 것으로 기대된다. 크로노스는 이번 GDC에서 Vulkan과 함께 이종 플랫폼 병렬처리 언어인 OpenCL의 새 버전 2.1을 발표 했다. 흥미로운 점은 OpenCL 2.1과 Vulkan이 공통으로 SPIR-V를 사용하기 했다는 점이다. SPIR-V의 효과라고 볼 수 있겠지만, OpenCL 2.1 부터는 커널(병렬 처리 프로세스 노드) 프로그래밍을 C++을 사용해서 할 수 있다. 고도 병렬 처리 프로그램을 객체 지향프로그래밍으로 하는 시대가 온 것이다.
이 환용 경북대 3D융합기술지원센터 산학교수는, Vulkan의 발표는 이 분야에 존재하고 있던 다양한 경계를 허무는 새로운 혁신이 될 것으로 예상했다. 더 이상 CPU 메모리와 GPU 메모리로 저장 공간을 구분할 수 없고, 사용자가 느끼지 못하는 사이 계산이 CPU와 GPU 사이를 오가면서 수행될 것이고, 모바일 기기, PC, TV용 응용 개발의 경계도 허물어 질 것으로 예상했다. 이제 대학에서도 교과과정과 실습을 어떻게 구성해야 할 지 고민을 시작해야 한다고 설명했다.
Vulkan 표준 문서와 실제 사용할 수 있는 드라이버는 올해 하반기에 공개될 예정이며, 원하는 기관이나 개인은 크로노스 그룹에 회원으로 가입하여 직접 표준화에 참여할 수도 있고, 크로노스 홈페이지 사이트를 통해 의견을 개진할 수 있다.
크로노스 그룹에는 삼성, LG, 서울대, 경북대, ETRI 등, 국내 기업, 학교, 연구소가 함께 참여하고 있다. 올해 4월 20일부터 24일까지 크로노스 그룹의 총회에 해당하는 F2F 미팅이 서울에서 개최된다.
크로노스그룹 소개
크로노스 그룹은 산업계의 컨소시엄으로서, 병렬 컴퓨팅, 컴퓨터 그래픽스, 컴퓨터 비전, 센서 처리와 동적 미디어 등에 대한 저작과 가속을 위한 개방형 표준을 제정하고 있다. 크로노스의 표준에는 Vulkan™, OpenGL®, OpenGL® ES, WebGL™, OpenCL™, SPIR™, SYCL™, WebCL™, OpenVX™, OpenMAX™, OpenVG™, OpenSL ES™, StreamInput™, COLLADA™ 및 glTF™ 등이 있으며, 회원사로 참여하면 표준의 제정에 기여하고, 관련 투표권을 갖게 되며, 일반에 공개되기 앞서 표준 문서에 접근할 수 있는 권리를 갖게 된다. 이를 통해 회원사는 다른 기업에 앞서 관련 제품을 개발하고 생산할 수 있다. 상세한 정보는 www.khronos.org 에서 얻을 수 있다.
크로노스 그룹: http://www.khronos.org
연락처
크로노스 그룹
한국마케팅담당자
이 환용
010-6747-3850
이메일 보내기