WebGPU

Technology

웹 애플리케이션에서 로컬 디바이스의 GPU를 직접 접근·활용할 수 있게 해주는 차세대 웹 그래픽 API

개요

  • 2017년부터 W3C에서 개발 시작
  • 낮은 오버헤드 API 이점을 웹 브라우저 환경에 제공
  • 이름에 “web”이 들어가지만 브라우저에 국한되지 않음 (wgpu: Rust용 WebGPU)

배경 (WebGL 한계)

  1. OpenGL의 한계 → Vulkan 등장 (저수준, 낮은 오버헤드)
  2. 벤더별 고성능 API: DirectX (MS), Metal (Apple)
  3. 웹 환경: WebGL → WebGPU로 진화

WebGL vs WebGPU 비교

WebGL WebGPU
전역 상태 Global State Stateless API (파이프라인 기반)
동기화 Sync API Async API (비동기 콜백)
컴퓨팅 셰이더 vertex + fragment vertex + fragment + compute
캔버스 처리 Chrome 16개, Firefox 200개 제한 제한 없음

개선 사항

  • 모던 그래픽 카드 최적화 (그래픽 + 컴퓨팅)
  • 멀티스레딩 지원으로 고성능
  • 저수준 API로 GPU 세부 제어 가능
  • 최신 보안 표준 적용

Compute Shader 활용

WebGPU의 compute shader는 GPU에서 범용 계산 수행 가능:

  • 머신러닝 추론 (WebLLM 등)
  • 물리 시뮬레이션
  • 과학 컴퓨팅

브라우저 내 AI/LLM 실습

실습 자료

관련 노트

  • Web - 브라우저 동작 원리 및 웹 기술
  • Machine Learning - 브라우저에서 실행하는 ML

참고