WebGPU 개요

François Beaufort
François Beaufort

WebGPU는 동일한 그래픽의 JavaScript 워크로드를 크게 줄이고 머신러닝 모델 추론을 3배 이상 개선하는 등 상당한 이점을 제공하는 웹 그래픽 API입니다. 이는 유연한 GPU 프로그래밍과 WebGL에서 제공하지 않는 고급 기능에 대한 액세스 덕분에 가능합니다.

이 API는 웹 플랫폼을 염두에 두고 설계되었으며 관용적인 JavaScript API, 약속과의 통합, 동영상 가져오기 지원, 명확한 오류 메시지가 포함된 세련된 개발자 환경을 제공합니다.

WebGPU는 Mozilla, Apple, Intel, Microsoft와 같은 대기업의 참여를 포함하여 W3C의 '웹용 GPU' 커뮤니티 그룹의 공동작업의 결과입니다.

브라우저 지원

이 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 지원이 진행 중입니다. 를 참고하세요.

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

리소스

WebGPU는 중요한 기술이며 자세한 내용은 다음 리소스를 참고하세요.