벤치리뷰·뉴스·정보/아키텍처·정보분석

Khronos, 신세대 그래픽스 API Vulkan을 정식 발표

tware 2015. 5. 2. 12:32


업계 표준화 단체 Khronos Group (크로노스 그룹 이하 Khronos)는 Game Developers Conference 2015 (이하 GDC 2015)의 타이밍에 지금까지 "glNext "로 불려온 차세대 OpenGL API를 " Vulkan "(불칸) 으로 발표했다. 맞추어 그 개요를 밝혔다.


  얼마전 타계한 배우 Leonard Nimoy 씨가 "Star Trek"(스타 트렉)에서 활약한 Mr.Spock 의 고향에서 기이하게도 이시기에 이름이 취한 Vulkan은, OpenGL의 아키텍처를 업그레이드한 "OpenGL 5.0"가 아니라 처음부터 개발이 시작된 API이다. 그런 Vulkan의 특징은 "복수의 Command Buffer (명령 버퍼)를 멀티 스레드에서 동시에 생성하고 별도 달리는 개별 스레드에서 명령 큐에 얹고, GPU에 보내기"라는 처리 시스템을 갖추고 있다는 점이다. CPU가 멀티 스레드화 된것을 전제로 효율화를 도모 하고 있다는 것이다.




Khronos가 제시한 경쟁에 대한 Vulkan 우위성


 비슷한 컨셉을 가진 API로는 Microsoft의 DirectX와 Apple의 Metal, 그리고 AMD의 (버전 1.0) Mantle이 있지만, Vulkan이 그것들과 결정적으로 다른 것은 플랫폼을 가리지 않는 것. 덧붙이면, 로열티 무료에 오픈 스탠다드라는 기본 컨셉은 OpenGL에서 계승하며, OpenGL 시대처럼, 모바일 버전의 "OpenGL ES"가 분리 되는 것도 없으며, 데스크톱 및 노트북 PC와 모바일 기기, 게임기, 여기에 서버와 자동차, 로봇조차도 하나의 Vulkan으로 대응하는 것으로 밝혀지고 있다.


 Vulkan에서 Khronos는 드라이버가 간단하게 되는 것도 기대하고 있다. OpenGL 시대 각 그래픽 드라이버는 (C 언어와 비슷한) GLSL (OpenGL Shading Language)로 작성된 쉐이더 프로그램을 컴파일하기 위해 완전판의 컴파일러를 가지고 있을 필요가 있고, 여기가 버그의 온상이었다.


 이에 대해 Vulkan 에서는 개발자 측에서 " SPIR-V "라 불리는 중간 언어로 컴파일하는 사양이 됐다. DirectX (또는 Direct3D)에 가까운 구현이 되었다고 할 수 있다. 이 SPIR-V는 원래 Compute Shader 용으로 준비되어 있었던 "SPIR"의 후계에 해당하는 것으로, 따라서 SPIR-V는 Vulkan과 동시에 발표된 "OpenCL 2.1"도 이용할 수 있다. 그래픽 쉐이더 프로그램이든, 컴퓨팅 쉐이더 프로그램이든, 또는 다른 프로그램이든, SPIR-V는 Vulkan 및 OpenCL에서 이용할 수 있게 된다. 간단히 말하면, SPIR-V는 Vulkan과 OpenCL 2.1의 통합을 가져오는 존재인 것이다.



 또한, Khronos의 회장인 Neil Trevett 씨에 따르면 Vulkan의 등장 이후에도 기존의 OpenGL 및 OpenGL ES는 Vulkan의 하위 모델인 API로서 존속하고 Khronos로 지원하고, 또 지속적으로 업데이트를 행해 간다고 한다.


  "Vulkan의 로우 레벨 제어가 모든 프로그램에 적합하다고 생각하지 않는다. 드라이버에 부담을 거는 작업이 필요한 소프트도 적지 않게 존재하고 있다"(Trevett 씨).



OpenGL과 Vulkan의 차이를 정리한 슬라이드 (위) Khronos의 API 포지셔닝.

OpenGL과 OpenGL ES는 앞으로도 하위 모델인 존재로 지원이 계속



35초에서 OpenGL 에서 Vulkan으로 전환.




[분석정보] GPU의 진화에 대응한 Microsoft의 차세대 API DirectX 12의 배경



[분석정보] GDC 2014 OpenGL 드라이버 오버헤드는 맨틀과 싸울 수준



[분석정보] AMD 독자 그래픽스 API Mantle



[분석정보] GDC 2014 미국 MS DirectX 12를 발표



Haswell과 Broadwell의 사이에는, DirectX 12관련의 중요한 차이가 있다



[분석정보] GDC 2016 Unreal Engine 4를 통합형 그래픽 기능으로 움직이다