Chrome에 WebGPU 제공

수년간의 개발 끝에 Chrome팀은 웹에서 고성능 3D 그래픽과 데이터 병렬 계산을 지원하는 WebGPU를 출시했습니다.

François Beaufort
François Beaufort

Chrome팀은 현재 베타 채널에서 제공되는 Chrome 113에서 WebGPU를 기본적으로 사용할 수 있게 되었다는 소식을 전해드립니다. WebGPU는 동일한 그래픽에 대한 JavaScript 워크로드를 크게 줄이고 머신러닝 모델 추론을 3배 이상 개선하는 등 상당한 이점을 제공하는 새로운 웹 그래픽 API입니다. 이는 더 유연한 GPU 프로그래밍과 WebGL이 제공하지 않는 고급 기능에 대한 액세스 덕분에 가능합니다.

WebGPU의 최초 출시 버전은 ChromeOS, macOS, Windows에서 사용할 수 있습니다. 다른 플랫폼도 올해 안에 지원될 예정입니다.

웹 그래픽의 새로운 여명

WebGPU는 최신 하드웨어 기능을 노출하고 Direct3D 12, Metal, Vulkan과 마찬가지로 GPU에서 렌더링 및 계산 작업을 수행할 수 있는 새로운 웹용 API입니다. WebGL API 제품군과 달리 WebGPU는 고급 GPU 기능에 대한 액세스를 제공하며 GPU에서 일반 계산을 최고 수준으로 지원합니다. 이 API는 웹 플랫폼을 염두에 두고 고안되었으며, 직관적인 JavaScript API, 프로미스와의 통합, 동영상 가져오기 지원, 훌륭한 오류 메시지와 함께 세련된 개발자 환경을 제공합니다.

WebGPU의 최초 출시 버전은 향후 업데이트 및 개선의 구성 요소 역할을 합니다. API는 고급 그래픽 기능을 제공하며 개발자는 추가 기능에 대한 요청을 보내는 것이 좋습니다. 또한 Chrome팀은 더 많은 머신러닝 최적화와 WebGPU Shading Language(WGSL)의 추가 인체공학을 위해 셰이더 코어에 대한 심도 있는 액세스를 제공할 계획입니다.

WebGPU는 Mozilla, Apple, Intel, Microsoft와 같은 주요 기업의 기여를 포함한 W3C의 '웹용 GPU' 커뮤니티 그룹의 공동 노력의 결과물입니다. 6년간의 개발 기간 (참여자 90명, 커밋 2,000건, 문제 3,000건)을 거쳐 2017년 초기 디자인 이후 Chrome에서 첫 구현을 사용할 수 있게 되었으며 Firefox 및 Safari 지원이 진행 중입니다.

Chromium용 Dawn 라이브러리 및 Firefox용 wgpu 라이브러리 모두 독립형 패키지로 사용할 수 있으며, OS GPU API를 추상화하는 뛰어난 이동성과 인체 공학적 레이어를 제공합니다. 또한 네이티브 애플리케이션에서 이러한 라이브러리를 사용하면 EmscriptenRust web-sys를 통해 WASM으로 더 쉽게 포팅할 수 있습니다.

브라우저 지원

WebGPU의 최초 출시는 Vulkan을 지원하는 ChromeOS 기기, Direct3D 12를 지원하는 Windows 기기, macOS의 Chrome 113에서 사용할 수 있습니다. Linux, Android 및 기존 플랫폼을 위한 확장된 지원이 곧 제공될 예정입니다.

WebGPU는 Chrome에서 초기 구현되는 것 외에도 FirefoxSafari에서 계속 작업 중입니다.

라이브러리 지원

널리 사용되는 많은 WebGL 라이브러리가 이미 WebGPU 지원을 구현 중이거나 이미 구현되어 있습니다. 즉, WebGPU를 사용하려면 한 줄을 변경하기만 하면 됩니다.

  • Babylon.js는 이미 WebGPU를 완전히 지원합니다.
  • PlayCanvas는 초기 WebGPU 지원을 발표했습니다.
  • TensorFlow.js는 대부분의 연산자의 WebGPU 최적화 버전을 지원합니다.
  • Three.js WebGPU 지원이 진행 중입니다. 예시를 참고하세요.

자료

WebGPU는 중요한 기술이며 다음 리소스를 통해 자세히 알아보는 것이 좋습니다.

감사의 말

모든 Chromium 기고자 및 이를 실현하는 데 소중한 도움을 주신 Intel 담당자 여러분께 감사의 말씀을 전합니다.