WebGPU 개요

François Beaufort
François Beaufort

게시일: 2023년 7월 20일, 최종 업데이트: 2025년 8월 11일

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

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

WebGPU는 Mozilla, Apple, Intel, Microsoft와 같은 주요 기업의 기여를 포함하는 W3C의 'GPU for the Web' 커뮤니티 그룹의 공동 노력의 결과입니다.

브라우저 지원

WebGPU의 이 초기 버전은 Vulkan을 지원하는 ChromeOS 기기, Direct3D 12를 지원하는 Windows 기기, macOS에서 Chrome 113을 통해 제공되었습니다. Android 지원은 나중에 Qualcomm 및 ARM GPU로 구동되는 Android 12 이상을 실행하는 기기의 Chrome 121에서 추가되었습니다. Linux 및 기존 플랫폼에 대한 지원이 곧 확대될 예정입니다.

Chrome의 구현 외에도 Windows에서 실행되는 Firefox 141Safari 26에서 WebGPU가 제공됩니다.

WebGPU 구현 상태에 관한 최신 소식은 gpuweb 구현 상태 페이지에서 확인할 수 있습니다.

라이브러리 지원

널리 사용되는 많은 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는 중요한 기술이며 자세한 내용은 다음 리소스를 참고하세요.